Ответ на ваш вопрос "Это правильное использование авто?"нет по причинам, объясненным в других ответах.Для конкретного случая циклического перемещения по содержимому контейнера вам, скорее всего, лучше использовать цикл for, основанный на диапазоне:
постоянный ссылочный доступ к элементам, i
- это const int&
:
std::vector<int> v;
for (const auto& i : v ) {
std::cout << i << "\n";
}
неконстантный эталонный доступ, i
- int&
:
std::vector<int> v;
for (auto& i : v ) {
++i;
std::cout << i << "\n";
}
значение доступа, i
- int
:
std::vector<int> v;
for (auto i : v ) {
...
}
искоро.Это также работает для массивов в стиле C.