参考下面的代码(仅作为示例),可以使用以下命令访问对象的成员函数(例如setCdata())。
迭代器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++;
        }

    }

最佳答案

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

i->setCdata();
(*i).setCdata();


请注意,在C ++ 11中,您还可以使用以下符号:

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

08-16 02:49