【问题标题】:C++ meaning of [ ] [duplicate][]的C ++含义[重复]
【发布时间】:2014-04-15 03:42:53
【问题描述】:

这是来自 boosts asio 的一个例子。 这是什么意思?为什么是 []?

acceptor_.async_accept(socket_,
    [this](boost::system::error_code ec)

【问题讨论】:

标签: c++ boost boost-asio


【解决方案1】:

它是一个lambda expression,用于创建函数作为表达式

[]是捕获列表

可以按如下方式传递符号列表:

  • [a,&b] 其中 a 按值捕获,b 按引用捕获。
  • [this] 按值捕获 this 指针
  • [&] 通过引用捕获 lambda 正文中提到的所有自动变量
  • [=] 按值捕获 lambda 正文中提到的所有自动变量
  • [] 没有捕获任何内容

【讨论】:

    【解决方案2】:

    它是 lambda 表达式的一部分。查看here了解更多信息。

    【讨论】:

      猜你喜欢
      • 2016-01-23
      • 1970-01-01
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多