C++ 对列表中存储的对象使用类函数,通过迭代器访问
我试图打印C++ 对列表中存储的对象使用类函数,通过迭代器访问,c++,class,function,iterator,C++,Class,Function,Iterator,我试图打印Player的一些实例的名称,这些实例存储在列表中。我应该用什么来代替“扑通一声!”才能让它正常工作 list<Player>::iterator it; for(it=players.begin(); it != players.end(); ++it) cout << "Plop!" << " "; cout << endl; 我觉得迭代器的处理方式应该与普通指针不同。或者迭代器*它根本不包含Player对象 it
Player
的一些实例的名称,这些实例存储在列表中。我应该用什么来代替“扑通一声!”才能让它正常工作
list<Player>::iterator it;
for(it=players.begin(); it != players.end(); ++it) cout << "Plop!" << " ";
cout << endl;
我觉得迭代器的处理方式应该与普通指针不同。或者迭代器*它根本不包含Player对象
it->getName();
只要玩家
有这个方法…应该是
(*it).getName()
这个。运算符绑定比*更难,否则编译会失败。您需要取消对迭代器的引用
*it
但是,如果你知道我的意思的话,解引用会下降到左边:)所以你需要用括号将其保持在原位:
(*it).getName();
别忘了for循环中的花括号作为替代方案,考虑执行<代码>操作符
(*it).getName();