【发布时间】:2018-02-03 12:02:19
【问题描述】:
我实现了自己的小UnboundArray 类:
template <typename T>
class UnboundArray {
private:
std::vector<T> elementData;
public:
...
std::size_t size()
{
return elementData.size();
}
};
我有一个类,我想在其中使用我的 UnboundArray,尤其是我需要在 UnboundArray 元素上使用 for 循环:
for (auto const &row : unbound_arrays) {
// loop over unbound array of unbound arrays and call its size method or something else
}
我真的是 C++ 迭代器的新手,不知道我应该遵循什么路径。我应该从头开始实现我的迭代器,还是应该在我的UnboundArray 中创建一个std::iterator 类型的成员?
【问题讨论】:
-
请注意,
std::iterator已被弃用,并将在未来某个时候被删除。我建议你检查例如this iterator category reference 看看哪种迭代器最适合您的需求,以及它需要哪些成员函数和运算符。