Я изучаю C ++, и у меня есть проблема, чтобы понять, почему это работает. Я понимаю, что ссылка - это просто синоним определенного объекта. Но я не понимаю, почему этот
std::vector<int> v{1,2,3};
for (auto &i : v) //using reference
i *= i;
выводит 1,4,9
, а этот
std::vector<int> v{1,2,3};
for (auto i : v) //without using reference
i *= i;
выводит 1,2,3
?
Заранее спасибо