如何通过shared_ptr向量进行迭代

时间:2019-03-18 17:04:13

标签: c++

我有一个向量:

vector<MyClass> database;  

和第二个:

vector<shared_ptr<MyClass> > databasePtrs;

databasePtrs包含按特定顺序指向数据库元素的指针。我想使用迭代器而不是for循环遍历指针。但是我不知道如何创建迭代器。表达式:

vector<MyClass>::iterator it;

显然不起作用,我尝试过的其他变体也不起作用。

1 个答案:

答案 0 :(得分:2)

  

我不知道如何创建迭代器。

您可以使用std::vector::begin将迭代器添加到向量的第一个元素。

vector<MyClass>::iterator it;

您不能使用该迭代器来迭代vector<shared_ptr<MyClass> >。您需要使用vector<shared_ptr<MyClass> >::iterator