1
例如,我可以定义在某种程度上类似于一个容器:什么时候将const_iterator声明为一个常量迭代器?
template <typename T>
class Example
{
public:
using value_type = T;
using iterator = value_type*;
using const_iterator = const iterator;
//etc
};
然而,是不是好与用户定义的迭代器做到这一点?
template<typename T>
class Example
{
public:
using value_type = T;
/*friend?*/ class iterator;
using const_iterator = const iterator; //is this okay?
//etc
};
详细的解释将被赞赏。
所以,在第二种情况下,这是否意味着常量迭代器只能指向一个特定的位置? – AldenB
@AldenB正确,你不能修改迭代器,所以你不能把它指向别的地方。但是你可以修改它指向的东西。 – juanchopanza
Got it!谢谢 :) – AldenB