是否有一些标准的库函数/类对此lambda表达式的行为进行了处理:
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
}
编写此代码感觉很hack,但是除了简单地调用in中的函数外,我想不出另一种方法main
,但是我实际上在做什么取决于模板参数,因此我需要保持其通用性。可能。
对于上下文:
我atexit
为每个不同的模板参数注册了一个函数,但只注册了一次:第一次调用该函数。
也许您应该使用中的std::call_once
find <mutex>
。此处
如何使用示例
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句