私はジェネリック リストを実装しています: 2 種類のイテレータを持つリスト:List<T>::Iterator
とList<T>ConstIterator
.
次の方法があります。
typename List<T>::Iterator List<T>::begin() {}
typename List<T>::ConstIterator List<T>::begin() const {}
これは、非定数リストの非定数イテレータと定数リストの定数イテレータを返す適切な方法ですか?
私はジェネリック リストを実装しています: 2 種類のイテレータを持つリスト:List<T>::Iterator
とList<T>ConstIterator
.
次の方法があります。
typename List<T>::Iterator List<T>::begin() {}
typename List<T>::ConstIterator List<T>::begin() const {}
これは、非定数リストの非定数イテレータと定数リストの定数イテレータを返す適切な方法ですか?
はい、それは標準ライブラリでも行われている方法です。
C++ 11 で導入された標準ライブラリ拡張機能と同様に、リストが const 自体でなくても const イテレータを取得できるcbegin()
関数を追加で提供できます。