I saw the following code somewhere. But I don't know the use of the single colon in the line
auto& it : v Does this mean pass the address v to each it? How the for loop access each address in &v ?
#include <iostream> #include <vector> std::vector<int>& addOne(std::vector<int> &v) { for(auto& it : v) { it += 1; } return v; } int main() { std::vector<int> x = {12, -3, 6, 19}; auto y = addOne(x); for (auto& it : y) { std::cout << it << ' '; } std::cout << std::endl; return 0; }