STL リファレンスは、以下の間に概念的な違いを生むようです:
- 一方では「シーケンス コンテナー」(配列ベクトル deque forward_list リスト)
- 一方、「連想コンテナー」 (マルチセット マップ マルチマップ unordered_set unordered_multiset unordered_map unordered_multimap を設定)。
また、次のように思われます。
begin()
コンテナ内の最初の要素を指す反復子を返すメソッドを実装するすべてのコンテナ。front()
コンテナ内の最初の要素への参照を返すメソッドを持つシーケンスコンテナのみ。
私の理解では、メソッドは、その戻り値を逆参照するだけfront()
で、メソッドの観点から簡単に定義できるということです。begin()
したがって、私の質問は、メソッドを定義するすべてのオブジェクトに対してメソッドが定義されていないのはなぜですか? front()
begin()
(これは実際にはすべてのコンテナである必要があります)
(セマンティックの観点からは、マップから最初の要素を取得することは、ベクトルから最初の要素を取得する場合ほど意味がないと思いますが、より有効な説明があるかどうか疑問に思っていました)。