【发布时间】:2011-11-13 03:28:05
【问题描述】:
我正在寻找一种将 std::set::const_iterator 用作我自己类的 const_iterator 的方法。
我的代码(实际上表现正确且编译良好),如下所示:
class MyClass{
public:
typedef std::set<T>::const_iterator const_iterator;
const_iterator begin() const {
return mySet->begin();
}
const_iterator end() const {
return mySet->end();
}
}; // MyClass
所以,我的问题是:我使用 const_iterator 的方式是否可以接受并且也是 STL 预期的形式?
编辑:相关问题和答案How to typedef the iterator of a nested container?
【问题讨论】:
-
什么是
T?我猜你已经模板化了MyClass?,在这种情况下我想你会想要一个typedef typename std::set<T>...?但除此之外对我来说看起来不错...... -
不,我的课程没有模板化。我在那里有点不精确。实际上 T 的类型是 unsigned int。
-
好吧,我觉得那没问题。我似乎记得 Bjarne Stroustrup 在他的书
The c++ programming language中做同样的事情(我没有它可以参考它 - 这就是为什么这不是一个答案)但我认为你做对了。 -
啊...那太酷了 :) 你还记得 Staustroups 书的名字吗?