Давайте сделаем это вместе. vector<int> v;
vector - это оболочка из чистого массива, выделенного новым оператором, поэтому к его элементам можно обратиться, применив арифметику указателя. v[i], *(v.begin() +i)
доступ к i-му элементу. Индексирование от 0. Как выполнить итерацию
for(int i = 0; i < v.size; i++) cout << v[i] << endl;
for(int x: v) cout << v[i] << endl;
for(auto it = v.begin(); it != v.end(); ++it) cout << v[i] << endl;
Давайте рассмотрим другой пример map<int, list<int> > mp;
Это не линейная структура данных, а древовидная. Но итерация похожа. for(auto node: mp)
где узел std:: pair<int, list<int>>
Внутри этого цикла for вы можете получить list<int>
с выражением node.second
и повторить его аналогичным образом.
for(auto node: mp)// node is pair<int, list<int> >
{ int key = node.first;
cout << key << " ";
for(auto elem: node.second) // elem is int
cout << elem << " ";
cout << endl;
}