我有一个向量:
vector<MyClass> database;
和第二个:
vector<shared_ptr<MyClass> > databasePtrs;
databasePtrs
包含按特定顺序指向数据库元素的指针。我想使用迭代器而不是for
循环遍历指针。但是我不知道如何创建迭代器。表达式:
vector<MyClass>::iterator it;
显然不起作用,我尝试过的其他变体也不起作用。
答案 0 :(得分:2)
我不知道如何创建迭代器。
您可以使用std::vector::begin
将迭代器添加到向量的第一个元素。
vector<MyClass>::iterator it;
您不能使用该迭代器来迭代vector<shared_ptr<MyClass> >
。您需要使用vector<shared_ptr<MyClass> >::iterator
。