<map>
関数
swap (map)
2 つの map の要素を交換します。
template <class key, class T, class _Pr, class _Alloc>
void swap(
map<Key, Traits, Compare, Alloctor>& left,
map<Key, Traits, Compare, Alloctor>& right);
パラメーター
right
交換する要素を提供する map (map left と要素を交換する map)。
left
要素が map right の要素と交換される map。
解説
テンプレート関数は、コンテナー クラス map に特化したアルゴリズムであり、メンバー関数 left
.swap( right
) を実行します。 これは、コンパイラによる関数テンプレートの部分的な順序付けのインスタンスです。 テンプレートと関数呼び出しの照合が一意にならないようにテンプレート関数がオーバーロードされた場合、コンパイラは、最も特化したバージョンのテンプレート関数を選択します。 テンプレート関数の一般的なバージョンである template
<class T>void swap( T&, T&) は、割り当てによって動作し、処理が遅くなります。 各コンテナー内の特化バージョンのほうが、コンテナー クラスの内部表現で使用できるため大幅に高速になります。
例
swap
のテンプレート バージョンの使用例については、メンバー関数 map::swap のコード例をご覧ください。
swap (multimap)
2 つの multimap の要素を交換します。
template <class key, class T, class _Pr, class _Alloc>
void swap(
multimap<Key, Traits, Compare, Alloctor>& left,
multimap<Key, Traits, Compare, Alloctor>& right);
パラメーター
right
交換する要素を提供する multimap (multimap left と要素を交換する multimap)。
left
要素が multimap right の要素と交換される multimap。
解説
テンプレート関数は、コンテナー クラス map に特化したアルゴリズムであり、メンバー関数 left
.swap (right
) を実行します。 これは、コンパイラによる関数テンプレートの部分的な順序付けのインスタンスです。 テンプレートと関数呼び出しの照合が一意にならないようにテンプレート関数がオーバーロードされた場合、コンパイラは、最も特化したバージョンのテンプレート関数を選択します。 テンプレート関数の一般的なバージョンである template
<class T>void swap( T&, T&) は、割り当てによって動作し、処理が遅くなります。 各コンテナー内の特化バージョンのほうが、コンテナー クラスの内部表現で使用できるため大幅に高速になります。
例
swap
のテンプレート バージョンの使用例については、メンバー関数 multimap::swap のコード例をご覧ください。