我应该让lambdas静止吗?

时间:2011-08-02 06:39:00

标签: lambda c++11

如果我有一个定义lambda的函数,那么lamda是否会被构造成'每次调用函数?我应该让它静止以防止这种情况吗?

void func(int x)
{
    static auto lambda = [&x](int y) -> bool {
        // ...
    };
}

1 个答案:

答案 0 :(得分:6)

不,不要将其设为静态,因为它通过引用捕获局部变量。

我不知道构建lambda的成本是多少。如果您怀疑它是性能问题:基准。