gpt4 book ai didi

c++ - 仅运行一次函数的标准库函数

转载 作者:IT老高 更新时间:2023-10-28 22:59:25 26 4
gpt4 key购买 nike

这个 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
}

写这个感觉就像一个黑客,但除了简单地调用 main 中的函数之外,我想不出另一种方法,但我实际上在做什么取决于模板参数,我需要让它尽可能通用。

对于上下文:
我为每个不同的模板参数注册了一个 atexit 函数,但只有一次:第一次调用它。

最佳答案

也许你应该使用 std::call_once发现于 <mutex> .
使用示例here

关于c++ - 仅运行一次函数的标准库函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25500377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com