什么是C ++ / CX中的[this]? (Windows 8)

时间:2012-11-20 11:32:20

标签: c++ c++11 windows-8 c++-cx

我正在关注this指南,并且我点击了包含术语[this]的代码的这些部分(只需按Ctrl-F它;您将会看到我的意思。)

我不确定这是C ++的东西还是C ++ / CX的东西,但无论如何,我都不知道它是什么。

这是什么?

2 个答案:

答案 0 :(得分:6)

它被称为“Lambda Closure”,它说当前实例(this)将被传递到lambda体(使您能够使用它的变量,并调用它的方法)。

此页面概述了Lambda Closures:
http://www.cprogramming.com/c++11/c++11-lambda-closures.html

  

[]什么都不捕获(或者,焦土战略?)   [&]通过引用获取任何引用的变量
  [=]通过复制来捕获任何引用的变量   [=,& foo]通过复制捕获任何引用的变量,但通过引用获取变量foo   [bar]通过复制捕获栏;不要复制任何其他内容   [this]捕获封闭类

的this指针

答案 1 :(得分:3)

lambda anonymous function的语法捕获定义它的类的成员。这是C ++ 11。