我有一个包含字符串的类。基本上这个类是建立在一个字符串数组上的:
class stringlist {
public:
typedef std::string str;
void push(str);
void pop();
void print();
void resize(size_t);
size_t capacity();
size_t size();
stringlist() : N(15) {}
stringlist(size_t sz) : N(sz) {}
~stringlist() { delete [] container; }
}
private:
size_t N;
str* container = new str[N];
};
练习的下一部分要求读者
为你的类写一个双向迭代器
在本书的这一点上,没有讨论重载运算符等。
如果我有类似的东西str* iterator(*str)
,我将如何管理增量、减量等。我假设我可以为这些方法编写一个单独的函数,但这似乎会破坏iterator
首先编写数据成员的目的。迭代器会是一个单独的类吗?
另外,是否有可能在迭代器中包含递增递减函数,以便我可以点到迭代器中以使用这些函数?