我正在遵循本指南,并且正在点击包含该术语的代码的这些部分[this]
(只需 Ctrl-F 即可;您会明白我的意思)。
我不确定这是 C++ 的东西还是 C++/CX 的东西,但是,无论哪种方式,我都不知道它是什么。
它是什么?
它被称为“Lambda Closure”,它表示当前实例 ( this
) 将被传递到 lambda 主体(使您能够使用它的变量并调用它的方法)。
这个页面很好地总结了 Lambda 闭包:
http ://www.cprogramming.com/c++11/c++11-lambda-closures.html
[] 不捕获任何内容(或者,焦土策略?)
[&] 通过引用捕获任何引用的变量
[=] 通过复制捕获任何引用的变量
[=, &foo] 通过复制捕获任何引用的变量,但捕获变量foo by reference
[bar] 通过复制捕获 bar;不要复制任何其他内容
[this] 捕获封闭类的 this 指针
它是lambda 匿名函数的语法,它捕获定义它的类的成员。它是 C++11。