c++ - 如何在 C++ 中定义匿名函数?

标签 c++ function syntax inline

我可以在 C++ 内联中定义函数吗?我说的是 lambda 函数,而不是导致编译器优化的 inline 关键字。

最佳答案

添加了 C++11 lambda functions到语言。该语言的早期版本(C++98 和 C++03)以及所有当前版本的 C 语言(C89、C99 和 C11)都不支持此功能。语法如下:

[capture](parameters)->return-type{body}

例如,计算 vector 中所有元素的总和:

std::vector<int> some_list;
int total = 0;
for (int i=0;i<5;i++) some_list.push_back(i);
std::for_each(begin(some_list), end(some_list), [&total](int x) {
  total += x;
});

关于c++ - 如何在 C++ 中定义匿名函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12483753/

相关文章:

php - 在javascript函数中传递的两个php动态变量语法

java - 计算数组中的字母(java)

c++ - 如何更新我的函数以使用新的 v8 FunctionTemplates?

c++ - 以char 'e'为输入进行比较

JavaScript 和自执行函数

function - 如何理解这个递归结果

mysql - 使用 mysql 连接 3 个表

c++ - 在 Visual Studio MSVC 14.0 断言下使用 boost 程序选项失败

c++ - MSVC : Invalid memcpy optimization?

函数内的 JavaScript 函数——对参数感到困惑