нет, правило as-if никто не отменял
Смотря чё внутри instance(). Я такой фишкой пользуюсь: template<class T> bool foo_in_use(){return true;} template<class T> struct foo{ void doit(){ (void) foo_in_use<T>(); return real_doit(); }; }; При линковке инстанс foo_in_use можно уловить и foo инициализировать, а в окончательном коде ее нет. Магия прагма линкер althernatename.
Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
ничего не понятно, где инициализация?
Ну при старте приложения вызывается функция global_init(){ if(foo_in_use<T>()) foo<T>::init() ... } Порядка 1500 Фуу, которые инициализируются только если используются.
я писал выше, что доступа к main нет
но идея, кстати, классная, жаль, что у меня не применима
Не выкинет
Обсуждают сегодня