我有一个对象G
,它是一个图表。我重载了括号运算符,以便G[i]
返回一个list<int>
(STL 列表),它是一个 vertexi
的邻接列表。
我有这两段代码都应该迭代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 << " ";
}
据我所知,他们做同样的事情。谁能解释为什么第二个代码段不起作用?另外,有没有更好的方法来遍历我的列表?