次の方法で共有


multimap Class

標準テンプレート ライブラリの multimap のクラスは、各要素がデータ値と並べ替えキーの両方を持つペアであるコレクションからデータを格納および取得するために使用されます。キー値は一意である必要はなく、そのデータを自動的に並べ替えに使用されます。map の要素の値が、関連するキー値が、直接変更することはできません。代わりに、古い要素に関連付けられているキー値が削除される挿入新しい要素に関連付ける必要があり、新しいキー値。

template <
   class Key, 
   class Type, 
   class Traits=less<Key>, 
   class Allocator=allocator<pair <const Key, Type> > 
>
class multimap

パラメーター

  • Key
    map に格納される主要なデータ型。


  • map に格納される要素のデータ型。

  • Traits
    map ディレクティブの相対位置を特定するために、並べ替えキーとして 2 要素の値を比較できる関数オブジェクトを提供する型。バイナリ述語 less*<Key>が* 既定値です。

  • Allocator
    マップのメモリの割り当てと解放に関する詳細をカプセル化する、格納されたアロケーター オブジェクトを表す型。このオプションを省略すると、既定値は allocator*<*pair *<*const *Key Type> >*です。

解説

STL の multimap のクラスです。

  • サポートする可変サイズのコンテナーが関連するキー値に要素の値の有効な検索基づいて、連想コンテナー。

  • 要素にアクセスするには、双方向反復子を提供するため、実行する。

  • 要素が指定した比較関数に従ってコンテナー内のキー値に基づいて並べるため、並べ替えられる。

  • 1 種類のキー値は関連付けられている多くの要素のデータ値があるように、要素を一意キーである必要はないため、複数。

  • 要素のデータ値がとは異なるキー値であるため、二つの連想コンテナー。

  • 用意されている機能とテンプレート クラスは、一般的に、要素またはキーとして含まれるデータの種類とは無関係です。代わりに要素とキーに使用するデータ型は比較関数およびアロケーターとともにクラス テンプレートでパラメーターとして指定されます。

マップのクラスによって提供された反復子は、双方向反復子ですが、クラスのメンバー関数 挿入map にテンプレート パラメーターとして機能の要件が双方向の反復子クラスによって保証されます。これらは最小限である、弱い入力反復子を受け取るバージョンがあります。さまざまな反復子の概念は、機能の調整に関連するファミリを形成します。反復子の種類によって提供される要件にそれらを指定する必要の制限を前提として使用するアルゴリズムと各反復子の概念は、要件の独自のセットがあります。オブジェクトを参照するように入力反復子が逆参照される可能性があることが、シーケンスの次の反復子に増加する可能性があることを想定される場合があります。これは、最小限の機能ですが、クラスのメンバー関数のコンテキストで反復子 _First、[_Last) の範囲について有意に話せますには十分です。

コンテナーの種類は、検索およびアプリケーションで必要な挿入の型に共通に基づきます。連想コンテナーは、検索、挿入、削除操作のために最適化されています。メンバー関数、明示的に処理を有効にする、それらをサポートするコンテナー要素の数値の対数に比例的な手段にある場合に行います。要素を挿入する反復子を無効にしない要素を削除し、削除した要素に明確に指定した反復子だけが無効になります。

map はキーと値を関連付ける条件が満たされたときにアプリケーションでオプションを連想コンテナー必要があります。この構造体の型のモデルは、Word が常に区別されていない定義を提供する関連付けられた文字列値を持つキー Word の順序付きリストです。代わりにキーが一意であるかのようにキー単語が区別されると、マップは、選択コンテナーです。一方、は、単語のリストだけが格納されている場合、セットは、適切なコンテナーです。Word の複数の出現が許可されると、複数のセットは、適切なコンテナー構造です。

map key_compareの型は、格納されているオブジェクトの関数を呼び出して制御するシーケンスの順序を指定します。このメンバー関数は、格納されているオブジェクト key_compを呼び出すことによってアクセスできる比較関数です。通常、要素は上でのみ、あまりこの順序を設定することである必要があります: または (という意味でいずれも他より小さくない) 等しいことが、任意の 2 種類の要素は、いずれかの決定されるそのほか未満であること。これは、不一致要素間の順序で発生します。テクニカル ノートで、比較関数は、標準的な演算はの厳密弱順序を引き起こすバイナリ述語です。バイナリ述語 f (x の y) は2 個の引数オブジェクトが true または false の x 半径と y、および戻り値を持つ関数オブジェクトです。セットに適用される順序は 2 種類のオブジェクトが同等であると x 半径と y と、f (x、y) 、および f (y) の x がfalse で定義されている厳密な厳密にバイナリ述語が irreflexive 称、オブジェクト、および中間かどうか、および Orders 等価性が中間の場合は。等価性、命令合計になるキーの置換の間の等価より強力な状態が (すべての要素が互いに関連する注文されるという意味で) と一致するキー互い indiscernible です。

メンバー

1ka6hya8.collapse_all(ja-jp,VS.110).gifコンストラクター

map

を構築します multimap 空の場合、または他に、multimapの全体または一部のコピーである。

1ka6hya8.collapse_all(ja-jp,VS.110).gifTypedef

allocator_type

multimap のオブジェクトの allocator のクラスを表す型。

const_iterator

multimapの const の要素を読み取ることができる双方向反復子を提供する型。

const_pointer

multimapの const の要素へのポインターを提供する型。

const_reference

const の要素への参照を提供する型は const 操作を読み取りと操作実行のために格納されている multimap

const_reverse_iterator

multimapの const の要素を読み取ることができる双方向反復子を提供する型。

difference_type

要素間の範囲の multimap の要素数を表すことができる符号付き整数型は、反復子が指す。

iterator

同じ multimap内の要素を示す 2 反復子の差を提供する型。

key_compare

multimapの要素は 2 個の相対位置を決定するディレクティブには、2 とおりの並べ替えキーを比較できる関数オブジェクトを提供する型。

key_type

multimapの各要素を構成する並べ替えキーのオブジェクトを表す型。

mapped_type

データ型を表す型は multimapに格納されている

ポインター

multimapの const の要素へのポインターを提供する型。

参照

要素への参照を提供する型は multimapに格納されている

reverse_iterator

読み取り可能であり、逆順の multimapの要素を変更する双方向反復子を提供する型。

size_type

multimapの const の要素へのポインターを提供する符号なし整数の型。

value_type

multimapディレクティブの相対位置を特定するために、並べ替えキーとして 2 個の要素を比較できる関数のオブジェクトを提供する型。

1ka6hya8.collapse_all(ja-jp,VS.110).gifメンバー関数

begin

multimapの最初の要素を指定する反復子を返します。

multimap::cbegin

multimapの最初の要素を指す定数反復子を返します。

multimap::cend

multimapに最後の要素に成功する位置を指す定数反復子を返します。

clear

multimapのすべての要素を消去します。

count

キーがパラメーター指定したキーに一致する multimap の要素数を返します。

multimap::crbegin

逆順の multimapの最初の要素を指す定数反復子を返します。

multimap::crend

逆順の multimapに最後の要素に成功する位置を指す定数反復子を返します。

multimap::emplace

multimapに構築された要素を挿入します。

multimap::emplace_hint

配置ヒントを含む multimapに、構築された要素を挿入します。

empty

multimap が空かどうかをテストします。

End

multimapに最後の要素に成功する位置を指定する反復子を返します。

equal_range

要素のキーがある値に一致する要素の範囲を検索します。

消去する

multimap の要素または要素範囲を指定位置から削除するか、指定したキーに一致する要素を削除します。

find

指定したキーと同じキーを持つ multimap の要素の最初の位置を指定する反復子を返します。

get_allocator

multimapの構築に使用される allocator オブジェクトのコピーを返します。

挿入

multimapに要素または要素範囲を挿入します。

key_comp

multimapで使用されている順序のキーに比較オブジェクトのコピーを取得します。

lower_bound

その以内で指定されたキー、キーと multimap の最初の要素への反復子を返します。

max_size

multimapの最大長を返します。

rbegin

逆順の multimapの最初の要素を指定する反復子を返します。

rend

逆順の multimapに最後の要素に成功する位置を指定する反復子を返します。

size

multimapの要素数を返します。

swap

2 multimap、.の要素を交換します。

upper_bound

指定したキー、キーと multimap の最初の要素への反復子を返します。

value_comp

このメンバー関数は、キー値を比較して multimap の要素の順序を決定する関数オブジェクトを返します。

1ka6hya8.collapse_all(ja-jp,VS.110).gif演算子

multimap::operator=

別の multimapのコピーと multimap の要素を置き換えます。

必要条件

Header: <map>

名前空間: std

(key、**[value]**ペア) は pair型のオブジェクトとして multimap に格納されます。ペアのクラスは <map>によって自動的に含まれるヘッダー <utility>が必要です。

参照

関連項目

C++ の標準ライブラリのスレッド セーフ

標準テンプレート ライブラリ

その他の技術情報

map のメンバー

<map> メンバー

ヘッダー ファイル