6
私は次のようにコンテナを実装しています:Class :: Type型の場合、constクラス:: Typeからconstクラスを派生させることはできますか?
template<typename T>
class Container
{
public:
using value_type = T;
...
};
がconst Container
からconst value_type
を導出するための良い方法はありますか?
背景:私は、ネストされたテンプレートクラスを経由してイテレータ型を実装している
:大丈夫動作しますが、iterator_base
の2番目のテンプレート引数が冗長に感じ
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>;
。