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

C ++STLのmultimapget_allocator()関数


この記事では、C++STLでのmultimap::get_allocator()関数の動作、構文、および例について説明します。

C ++ STLのマルチマップとは何ですか?

マルチマップは、マップコンテナに似た連想コンテナです。また、Key-Valueとマップされた値の組み合わせによって形成された要素を特定の順序で格納することも容易になります。マルチマップコンテナには、同じキーに関連付けられた複数の要素が存在する可能性があります。データは、関連するキーを使用して内部的に常に並べ替えられます。

multimap ::get_allocator()とは何ですか?

multimap ::get_allocator()関数は、C ++ STLに組み込まれている関数であり、 ヘッダーファイルで定義されています。 get_allocator()は、メモリチャンクをマルチマップコンテナに割り当てるために使用されます。この関数は、関連付けられているコンテナのアロケータオブジェクトのコピーを返します。

アロケータは、コンテナの動的なメモリ割り当てを担当するオブジェクトです。

構文

multi_name.get_allocator();

パラメータ

この関数はパラメータを受け入れません。

戻り値

この関数は、関連付けられたコンテナのアロケータを返します。

入力

int *Ptr;
std::multimap<int> newmap;
newmap.insert(make_pair(‘A’, 22));
newmap.insert(make_pair(‘B’, 78));
newmap.insert(make_pair(‘C’, 66));
newmap.insert(make_pair(‘D’, 81));
Ptr = mymap.get_allocator().allocate(4);

出力

ptr = A:22 B:78 C:66 D:81

#include <iostream>
#include <map>
using namespace std;
int main(){
   int arrsize;
   multimap<char, int> mul;
   pair<const char, int>* pr;
   pr = mul.get_allocator().allocate(15);
   // assign some values to array
   arrsize = sizeof(multimap<char, int>::value_type) * 10;
   cout << "Size of the allocated array is: "<< arrsize << " bytes.\n";
   mul.get_allocator().deallocate(pr, 5);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Size of the allocated array is: 80 bytes.

#include <iostream>
#include <map>
using namespace std;
int main(){
   int arrsize;
   multimap<char, int> mul;
   pair<const char, int>* pr;
   pr = mul.get_allocator().allocate(2);
   // assign some values to array
   arrsize = sizeof(multimap<char, int>::value_type) * 5;
   cout << "Size of the allocated array is: "<< arrsize << " bytes.\n";
   mul.get_allocator().deallocate(pr, 5);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Size of the allocated array is: 40 bytes.

  1. C ++ STLのstable_sort()

    STLのstable_sortメソッドは、最初に名前をキーとしてコンポーネントを昇順でソートし、その後、コンポーネントをセグメントをキーとして配置します。さらに、stable_sort()の計算は、同等のコンポーネントの全体的な要求が維持されているという事実に照らして、安定していると見なされます。これは、次のように示されるstable_sort()計算を示すC++プログラムのソースコードです。 例 #include <bits/stdc++.h> using namespace std; int main(){    int arr[] = { 11, 15,

  2. C ++のtransform()

    変換関数はC++STLにあります。これを使用するには、アルゴリズムヘッダーファイルをインクルードする必要があります。これは、すべての要素に対して操作を実行するために使用されます。たとえば、配列の各要素の2乗を実行し、それを他の要素に格納する場合は、transform()関数を使用できます。 変換関数は2つのモードで機能します。これらのモードは-です 単項演算モード 二項演算モード 単項演算モード このモードでは、関数は1つの演算子(または関数)のみを取り、出力に変換します。 例 #include <iostream> #include <algorithm> u