这是课程。
#include <iostream>
#include <string>
std::string strName = "ABC";
class BlueOut
{
public:
void printName() { std::cout << strName << std::endl; }
};
现在我创建此类的对象
BlueOut blueout;
然后我在lambda中调用对象的函数printName()
auto a = [&]() { blueout.printName(); };
但是该函数未执行。
答案 0 :(得分:5)
在这一行,
auto a = [&]() { blueout.printName(); };
部分[&]() { blueout.printName(); }
被称为lambda表达式。您将其绑定到某个变量a
。现在,您有了由lambda表达式创建的函数对象a
。为了看到效果,必须调用它:
a();