如何通过共享_ptr向量迭代
How to iterate through shared_ptr vector
我有一个向量:
vector<MyClass> database;
和第二个:
vector<shared_ptr<MyClass> > databasePtrs;
databasePtrs
包含以一定顺序对数据库元素的指示。我想使用迭代器,而不是for
周期通过指针进行迭代。但是我不知道如何创建迭代器。表达式:
vector<MyClass>::iterator it;
显然我尝试过的其他变体也不起作用。
我不知道,如何创建迭代器。
您可以使用std::vector::begin
将迭代器获取到向量的第一个元素。
vector<MyClass>::iterator it;
您不能使用该迭代器来迭代vector<shared_ptr<MyClass> >
。您需要vector<shared_ptr<MyClass> >::iterator
。
相关文章:
- std::向量迭代器和调整大小/保留的奇怪/有趣行为
- 如何取消引用向量迭代器
- Map中的(字符串的)向量迭代器
- C++将向量迭代器转换为索引
- yaml-cpp到std::向量迭代的怪异行为
- 使用索引与迭代器将向量迭代到倒数第二个元素
- 无法取消引用超出范围的向量迭代器 - 有什么问题?
- 向量迭代器不兼容的错误,用于保存另一个向量的迭代器的向量
- C++向量迭代器nth_element编译错误
- 无法查找值初始化的向量迭代器?
- C++向量迭代:常量 vs. 常量自动 vs. 无常量
- 向量迭代编译为非常不同的指令
- STD ::向量迭代器类型和允许的操作
- 如何通过尺寸未知的2D向量迭代
- 向量迭代器 < 或 !=
- 如何通过共享_ptr向量迭代
- 如何通过向量迭代作为指针
- 通过向量迭代,而其他线程可能会对其进行修改
- 我如何通过C 中的字符串向量迭代
- 向量迭代器在新对象的 push_back() 之后不兼容