我有一个整数的矢量充满了5个号码,我很好奇究竟是什么[&idx]
做:的for_each函数C++ 11
int idx = 0;
for_each (x . begin(), x . end(), [&idx] (const int & a) { cout << idx ++ << " " << a << endl; });`
为什么它不喜欢这个工作? :
int idx = 0;
for_each (x . begin(), x . end(), (const int & a, int & idx) { cout << idx ++ << " " << a << endl; });
从性能的角度来看比它更好吗? :
for (vector<int>::size_type i = 0; i < x . size(); i ++)
cout << x[i] << endl;
此外,你的第二个代码块有错误的语法。即使没有捕获列表,Lambdas仍然需要'[]'。 –