図のように、herestd::back_insert_iterator
(pre-C++の場合)17はstd::iterator
から継承しますが、C++では継承しません17。この変更の理由は何ですか?C++のstd :: back_insert_iterator 17
3
A
答えて
6
std::iterator
が便利です。イテレータが有用であると考えるコードをいくつか提供しています。最近の好ましいメカニズムはstd::iterator_traits
であり、より柔軟性があります。
イテレータは、実際にはstd::iterator
から継承できないポインタなので、iterator_traits
は常にそのtypedefを取得する方法でした。クラスである反復子型にtypedefを持つが、ポインタである反復子型ではないということは、汎用コードでこれらのメンバを使用できないことを意味します。それらを持つことは最小限に役立ち、彼らは去っています。
+3
ピートが言ったことを明示するために、 'std :: iterator'は任意のデータメンバーまたは任意のメンバー機能ネストされたtypedefを提供するだけです。 typedefの情報が利用可能である限り( 'std :: iterator_traits'がそれを取得する仕組みです)、イテレータがtypedefを実際に継承するかどうか、あるいはそれ自体を宣言するかどうかによって違いはありません。 –
関連する問題
- 1. std :: getlineはstd :: back_insert_iteratorを受け入れません
- 2. C++でstd :: min_elementを使う方法17?
- 3. C++ 17 std :: asyncとstd :: invokeを結合します
- 4. C++ 17/C++ 1z std :: for_eachの並列使用
- 5. C++ 17の式の評価順序とstd :: move
- 6. C++ 17:ラムダからstd ::関数への変換の失敗
- 7. C++ 17のstd :: vector deductionガイドは何ですか?
- 8. -std = C++ 17(任意、任意の、string_view、variant)でg ++ 6.2.0でC++ 17ヘッダーを含める方法
- 9. STDからの暗黙の型変換::はstd ::文字列C++ 17でstring_view(STDにあった::実験:: basic_string_view)
- 10. C++ 17ラムダキャプチャ* this
- 11. なぜstd :: allocatorはメンバータイプ/関数をC++で失うのですか17?
- 12. なぜC++ 17ではstd :: future ::が存在しないのですか?
- 13. C++ 17 make_optional constexpr-ness
- 14. a^17 + b^17 = c^17 pythonの最小の相対的なエラーを持つ
- 15. std :: allocatorはC++ 17でオーバーライドされた型を処理しますか?
- 16. C++ 17クラステンプレートの控除
- 17. back_insert_iteratorのエンド・センチネルを実装する方法は?
- 18. enable C++ 17 intellisenseオープンフォルダービジュアルスタジオninja-clang
- 19. C++ 17「any」とXcode 8.1
- 20. C++:STD対のstd ::ベクトル::リスト
- 21. google test/mock vs boost for C++ 14/C++ 17
- 22. C++ 17の複数のパラメータパック展開
- 23. C++ 17:pmr名前空間クラスのコンパイラサポート
- 24. C++ 11/14/17:テンプレートパラメータとしてのテンプレートクラスポインタ
- 25. C++ 17:コンパイルエラーを伴うinteger_sequenceの使用
- 26. C++ 17ジェネリック(多型)ラムダのベクトル
- 27. C++ 17 string_viewの演算子 ""ですか?
- 28. C++ - のstd ::
- 29. C++:のstd ::バインド - >のstd ::機能
- 30. C++のshared_ptrのstd ::バインドとstd ::機能
std :: iterator <>は推奨されなくなりましたhttp://en.cppreference.com/w/cpp/iterator/iterator –
次の論理的質問は「なぜstd :: iterator'を廃止するのですか?」、aその根拠はここにあります:http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0174r0.html – user4581301