相关疑难解决方法(0)

本地静态函数 - 对象的初始化是线程安全的吗?

以下两个函数产生不同的程序集,这告诉我它们是不同的.有人可以告诉我他们的不同之处是什么?并且函数本地静态变量初始化在func2线程安全与否?如果答案取决于编译器,我想知道最常见的编译器如何使用func2.

int func1(int val)
{
    const auto impl = [](int v)
    {
        return v * 10;
    };

    return impl(val);
}

int func2(int val)
{
    static const auto impl = [](int v)
    {
        return v * 10;
    };

    return impl(val);
}
Run Code Online (Sandbox Code Playgroud)

c++ lambda thread-safety static-initialization

7
推荐指数
1
解决办法
628
查看次数