[](int * p){delete p;}是什么意思?

时间:2012-12-12 18:13:17

标签: c++

有人可以帮我理解

[](int* p){delete p;}

装置?

我在文档中找到了它。对于shared_ptr http://www.cplusplus.com/reference/memory/shared_ptr/shared_ptr/

3 个答案:

答案 0 :(得分:9)

这是一个无捕获lambda expression,它指向int并在其上调用deleteHere's另一个解释lambdas语法的MSDN链接。

答案 1 :(得分:6)

这表示C ++ 11风格的lambda expression(“lambda函数”)。它需要一个指向整数的指针和delete s。

答案 2 :(得分:4)

类似于

void foo(int* p){
   delete p;
}

但可以作为另一个函数的一部分内联编写(例如作为回调传递)。