LINUX.ORG.RU

История изменений

Исправление pavlick, (текущая версия) :

Ты можешь глобальные переменные и static члены классов перед main объявлять.

Это понятно. Хочу разбить прогу на модули, каждый модуль подключать через inclue, в модуле, глобальный объект добавляет в глобальный массив указатель на свой callback.

vector<pointer_to_fn> &get() {
   static vector<pointer_to_fn> ar; return ar;}

//module
void module_fn(...) {}
class Init {
   Init() {get().push_back(module_fn);}
}init;

Исправление pavlick, :

Ты можешь глобальные переменные и static члены классов перед main объявлять.

Это понятно. Хочу разбить прогу на модули, каждый модуль подключать через inclue, в модуле, глобальный объект добавляет в глобальный массив указатель на свой callback.

vector<pointer_to_fn> &get() {
   static vector<pointer_to_fn> ar; return ar;}

//module
void module_fn(...) {}
class Init {
   Init() {get().push_back(module_fn);}
};

Исходная версия pavlick, :

Ты можешь глобальные переменные и static члены классов перед main объявлять.

Это понятно. Разбить прогу на модули, каждый модуль подключать через inclue, в модуле, глобальный объект добавляет в глобальный массив указатель на свой callback.

vector<pointer_to_fn> &get() {
   static vector<pointer_to_fn> ar; return ar;}

//module
void module_fn(...) {}
class Init {
   Init() {get().push_back(module_fn);}
};