参考下面的代码(只是一个例子),可以使用以下代码访问对象的成员函数(比如setCdata()) 迭代器我还是必须使用另一个变量来保持元素索引的计数?
class Cdata
{
public :
int a = 0;
//constructor
//destructor
setCdata();
}
void main()
{
vector<CData> dat;
dat.push_back(1);
dat.push_back(2);
dat.push_back(3);
//Define an iterator
vector<CData>::iterator i;
for(i = cl.begin(); i != cl.end(); i++)
{
dat[count].setCdata(); //is there a way of accessing the print() by using just the iterator i??
count++;
}
}
答案 0 :(得分:1)
是的,您只需使用以下其中一项:
i->setCdata();
(*i).setCdata();
请注意,在C ++ 11中,您还可以使用以下表示法:
for(auto& e : cl)
e.setCdata();