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;
}