例如,我可以以类似于以下方式定义容器:
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
};
详细的解释将不胜感激。