I was wondering what the following code does:
for (auto x:m) std::cout << x << " ";
I already know that auto is a way to leave it to the compiler to decide the type of the variable but I don't know what :m does.
I was wondering what the following code does:
for (auto x:m) std::cout << x << " ";
I already know that auto is a way to leave it to the compiler to decide the type of the variable but I don't know what :m does.
It is a C++11 range-based for loop syntax described here: http://www.cprogramming.com/c++11/c++11-ranged-for-loop.html
Here m should be a container, like std::vector. The code will iterate the container and put every element (accessed as x inside the loop) into the std::cout stream. Elements will be separated by space.
m is any type that follows the ranged concept (i.e. Container concept).
The loop iterates over all elements of m where x represents the currently iterated value.