6
我实现像一个容器:对于Class :: Type类型,我可以从const类派生const Class :: Type吗?
template<typename T>
class Container
{
public:
using value_type = T;
...
};
有从const Container
派生const value_type
的好办法?
背景:
我已经通过嵌套模板类实现的迭代器类型:
template<typename Container, typename Value>
class iterator_base
{
public:
...
Value& operator*() const;
private:
Container* c;
};
using iterator = iterator_base<Container, value_type>;
using const_iterator = iterator_base<const Container, const value_type>;
这工作好,但第二个模板参数iterator_base
觉得多余。