C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

Unordered_multimap operator =in C ++


C++関数std::unordered_multimap ::operator =()は、古いコンテンツを置き換えて新しいコンテンツをunordered_multimapに割り当て、必要に応じてサイズを変更します。

以下は、std ::unordered_multimap ::operator =()関数formstd ::unordered_map()ヘッダーの宣言です。

C ++ 11(構文)

unordered_multimap& operator=(const unordered_multimap& umm);

パラメータ

umm - Another unordered_multimap object of same type.

戻り値

Returns this pointer.

サンプルコード

#include <iostream>
#include <unordered_map>
using namespace std;
int main(void) {
   unordered_multimap umm1 = {
      {'a', 1},
      {'b', 2},
      {'c', 3},
      {'d', 4},
      {'e', 5},
   };
   unordered_multimap umm2;
   umm2 = umm1;
   cout << "Unordered multimap contains following elements" << endl;
   for (auto it = umm2.begin(); it != umm2.end(); ++it)
   cout << it->first << " = " << it->second << endl;
   return 0;
}

出力

Unordered multimap contains following elements
e = 5
a = 1
b = 2
c = 3
d = 4

  1. C ++STLのunordered_multimapreserve()関数

    C ++STLのunordered_multimapreserved()関数は、コンテナ内のバケットの数を最も適切な数に設定して、少なくともn個の要素が含まれるようにします。 nが現在のバケット数にmax_load_factorを掛けた値よりも大きい場合、コンテナのバケット数が増加し、再ハッシュが強制されます。 Reserve()は何も返さず、要求された最小容量に従って要素の最小数を指定するパラメーターとしてnを取ります。 アルゴリズム Begin    Declare the vector m.    m.reserve(6) = the size

  2. C ++STLのunordered_multimaprehash()関数

    C ++STLのunordered_multimaprehash(N)関数は、コンテナー内のバケットの数をn以上に設定します。 nがコンテナ内の現在のバケット数よりも大きい場合、再ハッシュが強制されます。新しいバケット数は、n以上にすることができます。この関数はバケット数に影響を与えない場合があり、nがコンテナ内の現在のバケット数よりも少ない場合、再ハッシュを強制しない場合があります。 Rehash()は何も返さず、コンテナハッシュテーブルのバケットの最小数を指定するパラメータとしてnを取ります。 アルゴリズム Begin    Declaring an empty map