У меня есть объект G
который является графиком. Я перегрузил операторы скобок, так что G[i]
возвращает list<int>
(список STL), который является списком вершин i
.Почему эти два сегмента кода дают мне разные результаты?
У меня есть два сегмента кода, которые оба должны перебирать G[i]
, но работает только первый.
list<int> adj = G[2];
for(list<int>::iterator it = adj.begin(); it != adj.end(); it++) {
cout << *it << " ";
}
Это не работает ...
for(list<int>::iterator it = G[2].begin(); it != G[2].end(); it++) {
cout << *it << " ";
}
Насколько я могу видеть, что они делают то же самое. Может ли кто-нибудь объяснить, почему второй сегмент кода не работает? Кроме того, есть ли лучший способ повторить мой список?
Что вы подразумеваете под "не работает"? – Johnsyweb
Он не производит никакого вывода. – Duncan