Существует ли какая-то стандартная библиотечная функция/класс по отношению к этому выражению лямбда:
void some_func(int some_arg, float some_other_arg){
static int do_once = ([](){
// will be run once upon first function call but never again
return 0; // dummy return value
})();
// will always run
}
Похоже на такой взлом, чтобы написать это, но я не могу придумать другой способ сделать это иначе, чем просто вызвать функцию в main
, но то, что я на самом деле делаю, зависит от параметров шаблона, и мне нужно чтобы он был как можно более общим.
В контексте:
Я регистрирую функцию с atexit
для каждого другого параметра шаблона, но только один раз: при первом вызове.