3

有人可以帮我理解什么

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

方法?

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

4

3 回答 3

9

这是一个无捕获的lambda 表达式,它接受一个指向 an 的指针int并调用delete它。这是另一个解释 lambda 语法的 MSDN 链接。

于 2012-12-12T18:14:36.473 回答
6

这表示 C++11 风格的lambda 表达式(“lambda 函数”)。它需要一个指向整数的指针并deletes 它。

于 2012-12-12T18:14:51.310 回答
4

它类似于

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

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

于 2012-12-12T18:18:28.040 回答