lambda表达式捕获this
时间: 2023-07-06 07:18:55 浏览: 161
lambda 表达式
当使用 lambda 表达式时,如果要在其中访问当前对象的成员变量或成员函数,需要捕获 this 指针。在 C++11 中,可以使用以下两种方式捕获 this:
1. 通过值捕获:[=],这种方式会将当前对象的所有成员变量复制一份到 lambda 表达式中,但是无法修改这些成员变量。
2. 通过引用捕获:[&],这种方式会将当前对象的引用传递给 lambda 表达式,可以修改当前对象的成员变量。
需要注意的是,当 lambda 表达式被执行时,当前对象必须还存在,否则访问成员变量或成员函数会出错。
阅读全文