[]的C ++含义[重复]
Posted
技术标签:
【中文标题】[]的C ++含义[重复]【英文标题】:C++ meaning of [ ] [duplicate] 【发布时间】:2014-04-15 03:42:53 【问题描述】:这是来自 boosts asio 的一个例子。 这是什么意思?为什么是 []?
acceptor_.async_accept(socket_,
[this](boost::system::error_code ec)
【问题讨论】:
这是一个lambda。 它是Lambda Expression 的一部分。 【参考方案1】:它是一个lambda expression,用于创建函数作为表达式
[]
是捕获列表
可以按如下方式传递符号列表:
[a,&b] 其中 a 按值捕获,b 按引用捕获。 [this] 按值捕获 this 指针 [&] 通过引用捕获 lambda 正文中提到的所有自动变量 [=] 按值捕获 lambda 正文中提到的所有自动变量 [] 没有捕获任何内容
【讨论】:
【参考方案2】:它是 lambda 表达式的一部分。查看here了解更多信息。
【讨论】:
以上是关于[]的C ++含义[重复]的主要内容,如果未能解决你的问题,请参考以下文章
有人可以解释一下 C 中 signal() 语法的含义吗? [复制]