通过引用传递的 Lambda 在构造函数中被调用时会运行,但在后来存储在数据成员中时不会运行。

LookCos at 
以下的 C++ 代码会先打印 11.1,然后导致崩溃。Lambda 函数在构造函数内部似乎被正确调用,但在稍后,同样的函数不再起作用!为什么会这样?Lambda 函数是否有有限的生命周期? #include #include class LambdaStore { public: LambdaStore(const std::function& _fn) : fn(_fn) { fn(11.1f); […]……