我可以在 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/