在C++11中,Lambda表达式可以作为类的成员变量。Lambda表达式是一种便捷的定义匿名函数对象的方式,它可以捕获上下文中的变量,并在表达式中使用它们。
以下是一个使用Lambda表达式作为类成员变量的示例:
#include<iostream>
class MyClass {
public:
// 定义一个类成员变量,该变量是一个Lambda表达式
auto myLambda = [this]() {
std::cout << "Hello from Lambda!"<< std::endl;
};
void callLambda() {
// 调用Lambda表达式
myLambda();
}
};
int main() {
MyClass obj;
obj.callLambda(); // 输出:Hello from Lambda!
return 0;
}
在这个示例中,我们定义了一个名为MyClass
的类,其中包含一个名为myLambda
的成员变量。该成员变量是一个Lambda表达式,它使用this
捕获当前对象的上下文,并在表达式中输出一条消息。
我们还定义了一个名为callLambda
的成员函数,该函数调用myLambda
成员变量。在main
函数中,我们创建了一个MyClass
对象,并调用其callLambda
成员函数,从而调用Lambda表达式并输出消息。
这个示例展示了如何在C++11中将Lambda表达式作为类的成员变量,并在类的成员函数中调用它。
领取专属 10元无门槛券
手把手带您无忧上云