下面的两个功能产生不同的组件,它告诉我,他们是不同的。 谁能告诉我用什么方式,他们有什么不同? 而在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);
}