У меня есть два класса, которые раскинуты по разным хэдэрам и сурсным файлам, при этом в каждом из них есть некоторое количество статических констант, вроде:
//a.hpp
class A {
public:
static const Koord a;
}
//b.hpp
class B {
public:
static const Koord a;
}
где Koord - это свой класс (не имеет статических констант). При этом A.a
зависит от B.a
и, поэтому для инициализации B.a
нужно уже определенная A.a
... Иначе, конечно проблема. Так вот: как и где лучше проинициализировать эти статические константы? Я вынес обе инициализации из обоих классов в один отдельный файл и все работает как надо, но выглядит не камильфо, когда в одном файле происходит такое:
const Koord B::a = 1;
const Koord A::a = B::a + 1;
Если глобальная переменная (пусть и const
) зависит от другой глобальной, то они как минимум должны быть определены в одной единице трансляции. Иначе, может возникнуть ситуация, именуемая static initialization order fiasco. Т.к. языком не гарантируется порядка инициализации глобальных переменных между разными единицами трансляциями. Пока всё живёт в одном файле проблем быть не должно.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я перехватываю перемещение файла, в файле permissiontxt через \n записаны пути до файлов, которые перемещать нельзя Сейчас сильно остановился на больной...
А на x64 тот же самый код нормально работает, выдаёт полный стекВ чём может быть проблема? Может быть кто-нибудь сталкивался с подобной проблемой?
Есть JPanel на которой расположена кнопка и другая дочерняя панель закрашенная красным цветомДочерняя панель должна отрисовываться после...
Проблема в том что данные по какой-то причине не отображаются и таблица с помощью цикла не заполняетсяЯ предполагаю что данные почему-то...