I have the following code (compiler: MSVC++ 10):
std::vector data; data.push_back(1.0f); data.push_back(1.0f); data.push_back(2.0f); // lambda
In C++14 thanks to generalized lambda captures you can do something like so:
std::vector v(10); std::for_each(v.begin(), v.end(), [idx = 0] (int i) mutable { // your code... ++idx; // 0, 1, 2... 9 });