首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C++ 11 lambda作为成员变量?

在C++11中,Lambda表达式可以作为类的成员变量。Lambda表达式是一种便捷的定义匿名函数对象的方式,它可以捕获上下文中的变量,并在表达式中使用它们。

以下是一个使用Lambda表达式作为类成员变量的示例:

代码语言:cpp
复制
#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表达式作为类的成员变量,并在类的成员函数中调用它。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券