C++ 访问作为类向量元素的对象的成员函数

C++ 访问作为类向量元素的对象的成员函数,c++,C++,参考下面的代码(只是一个示例),是否可以使用 迭代器i还是我必须使用另一个变量来保持元素索引的计数 class Cdata { public : int a = 0; //constructor //destructor setCdata(); } void main() { vector<CData> dat; dat.push_back(1); dat.

参考下面的代码(只是一个示例),是否可以使用 迭代器i还是我必须使用另一个变量来保持元素索引的计数

   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++;
        }

    }
class-Cdata
{
公众:
int a=0;
//建造师
//析构函数
setCdata();
}
void main()
{
向量dat;
数据推回(1);
数据推回(2);
数据推回(3);
//定义迭代器
向量::迭代器i;
对于(i=cl.begin();i!=cl.end();i++)
{
dat[count].setCdata();//是否有一种方法可以仅使用迭代器i访问print()??
计数++;
}
}

是的,您可以简单地使用以下选项之一:

i->setCdata();
(*i).setCdata();
请注意,在C++11中,还可以使用以下符号:

for(auto& e : cl)
    e.setCdata();