【C++】立即执行lambda表达式

立即执行的lambda表达式(Immediately Invoked Lambda Expression,IILE)。它的作用是创建一个匿名函数,并在定义时(具体来说是在程序启动、进入 main 函数之前执行的。)立即执行它,然后将执行结果赋值给变量。这种写法在某些情况下可以替代传统的函数调用或匿名函数对象。

static inline string defaultDataChngStr = []() -> string {
  string streamStr;
  for (int i = 0; i < 13; i++) {
    streamStr += "event:type";
    streamStr += std::to_string(i).c_str();
    streamStr += "\n";
    streamStr += "data:0\n";
    streamStr += "\n";
  }
  return streamStr;
}();
  • ():在定义lambda表达式后,立即调用它。这意味着lambda表达式在定义时会立即执行,并返回一个std::string对象。
  • 使用lambda表达式可以减少代码量,避免定义额外的函数。这种写法在生成一些简单的、一次性使用的数据时非常方便。
  • 虽然这种写法简洁,但可能会降低代码的可读性。如果逻辑复杂,建议使用独立的函数。
posted @ 2025-08-14 09:55  仰望星河Leon  阅读(37)  评论(0)    收藏  举报