【发布时间】:2014-06-29 01:03:11
【问题描述】:
我正在使用 C++ 编写程序,当我尝试列出我的向量元素时,它总是显示最后一个元素。
这是我的代码:
typedef string Tab[1][1];
struct Node
{
Tab t1;
};
这是我列出元素的方式:
std::vector<Node*>::iterator itr;
for(itr = Tab_dynamique.begin(); itr != Tab_dynamique.end(); *itr++)
{
cout << (*itr)->t1[0][0] << " | " << (*itr)->t1[0][1]<< endl;
}
谁能告诉我为什么它总是显示向量的最后一个元素?
【问题讨论】:
-
试试
itr++(不取消引用) -
据我所知,这应该始终显示第一个元素。并且总是意味着您执行 *itr++ 会导致无限循环。
-
虽然没有必要,但为什么
*itr++中的*会阻止它工作? ideone.com/9IZCoQ -
为什么我的问题被评为-2 ??? O.o
标签: c++ pointers vector iterator