Re[6]: инициализировать переменную в конструкторе
От: rg45 СССР  
Дата: 18.03.25 14:44
Оценка: +1
Здравствуйте, alsemm, Вы писали:

A>Помимо этого в старых версиях стандарта порядок инициализации модулей был неопределен (поменялось что-нибудь с тех пор?),


Всё так и осталось.

A>поэтому можно получить красоту, когда конструктор Viewer вызовется до того как kWindowName_Base будет инициализирован.


Да, но для этого зависимости между модулями нужно закрутить похитрее. Ну и чтобы налететь на эту проблему, у константы должно быть внутреннее связывание, всё-таки наверное. Что-то типа такого: http://rsdn.org/forum/cpp/3509539.1
Автор: rg45
Дата: 20.08.09
.

К счастью, сейчас константы std::string можно объявлять как constexpr, как вот здесь
Автор: rg45
Дата: 14.03 23:03
. Это исключает данную проблему в коде любой сложности.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 18.03.2025 14:55 rg45 . Предыдущая версия . Еще …
Отредактировано 18.03.2025 14:51 rg45 . Предыдущая версия .
Отредактировано 18.03.2025 14:50 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.