std::set
連想コンテナとして定義されているのはなぜですか?
つまりstd::map
、値をキーにマップするため連想コンテナーですが、なぜセットなのですか?
A
set
は [..] 連想コンテナ (23.2.4) [...] のすべての要件を満たします。
連想コンテナーであるというすべての前提条件を満たしているためです。これは、23.2.4.
「キーを値にマップする」ほど単純ではありません。
2 番目の段落では、これについても強調しています (むしろ、それが実際map
にありmultimap
、連想コンテナーに追加機能があることを強調しています)。
2) 各連想コンテナは、Key と、Key の要素に厳密で弱い順序付け (25.4) を誘導する順序付け関係 Compare でパラメータ化されます。さらに、map と multimap は、任意の型 T を Key に関連付けます。タイプ Compare のオブジェクトは、コンテナの比較オブジェクトと呼ばれます。
パラグラフ全体は大きすぎてここに再現できません。