(本文摘自c++论坛里自己帖子的回复。)
GCC4.5引入这个特性。有兴趣的朋友可以编译测试下面这段代码:
#include <algorithm>
#include <cmath>
void abssort(float *x, unsigned N) {
std::sort(x, x+N,
[](float a, float b) { // 注意此处的方括弧
return std::abs(a) < std::abs(b);
});
}
更多参考:
1) http://gcc.gnu.org/gcc-4.5/cxx0x_status.html
2) http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2927.pdf
3) http://www.ibm.com/developerworks/cn/aix/library/au-gcc/
注意:需要添加编译器选项:-std=c++0x 或 -std=gnu++0x
Qt项目可使用:QMAKE_CXXFLAGS += -std=c++0x
【编辑】VC10对c++0x的支持: