gpt4 book ai didi

c++ - 如何只执行一次代码?

转载 作者:IT老高 更新时间:2023-10-28 22:15:35 49 4
gpt4 key购买 nike

我有一个应用程序,其中包含多个功能。每个函数可以根据用户输入多次调用。但是,我只需要在一个函数中执行一小段代码,最初是在启动应用程序时。当稍后再次调用相同的函数时,不得执行这段特定的代码。代码在 VC++ 中。请告诉我处理此问题的最有效方法。

最佳答案

使用 lambda 函数的精简版:

void foo()
{
static bool once = [](){
cout << "once" << endl;
return true;
} ();
cout << "foo" << endl;
}

当静态变量初始化为 lambda 函数的返回值时,lambda 函数内的代码只执行一次。只要您的编译器支持线程安全的静态初始化,它就应该是线程安全的。

关于c++ - 如何只执行一次代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8412630/

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