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

C ++ STLでemplace_hint()関数をマップします


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

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

マップは連想コンテナであり、キー値とマップされた値の組み合わせによって形成された要素を特定の順序で格納するのを容易にします。マップコンテナでは、データは常に関連するキーを使用して内部的に並べ替えられます。マップコンテナの値には、一意のキーからアクセスします。

map ::emplace_hint()とは何ですか?

map ::emplace_hint()は、 ヘッダーファイルの下にある関数です。この関数は、ヒントを含む要素を作成して、関連付けられたマップコンテナに挿入します。

emplace_hint()は、配置される要素のキーが一意である場合に新しい要素を挿入します。挿入は、挿入される値のキーを持つ要素がない場合にのみ発生します。

構文

map_name.emplace_hint(iterator it, Args&& args);

パラメータ

この関数は次のパラメータを受け入れます-

それ −挿入される要素の位置のヒントと見なすことができるイテレータ。

引数 −「it」の位置に配置したい引数または値。

戻り値

挿入が成功すると、関数は挿入された新しい要素を指すイテレータを返します。それ以外の場合は、イテレータをコンテナにすでに存在する同等の値に戻します。

入力

map<char, int> newmap;
emplace_hint(newmap.end(), ‘a’, 1);

出力

a

#include <bits/stdc++.h>
using namespace std;
int main() {
   map<int, int> TP_Map;
   TP_Map.emplace_hint(TP_Map.begin(), 4, 50);
   TP_Map.emplace_hint(TP_Map.begin(), 2, 30);
   TP_Map.emplace_hint(TP_Map.begin(), 1, 10);
   cout<<"TP Map is : \n";
   cout << "MAP_KEY\tMAP_ELEMENT\n";
   for (auto i = TP_Map.begin(); i!= TP_Map.end(); i++)
      cout << i->first << "\t" << i->second << endl;
   return 0;
}

出力

TP Map is:
MAP_KEY    MAP_ELEMENT
1             10
2             30
4             50

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

    C ++のiswblank()関数は、指定されたワイド文字が空白でないかどうかを確認するために使用されます。これは、C言語の「ctype.h」ヘッダーファイルとC ++標準テンプレートライブラリ(STL)の「cctype」ヘッダーファイルにあります。 iswblankの構文は次のとおりです int iswblank(wint_t ch) 返品タイプ −空白が含まれている場合はゼロ以外の値を返し、含まれていない場合は値0を返します。 パラメータ − ch −これはチェックする文字です。 例 入力 − string str =“ I Love Myself” 出力 −スペースの総数は−

  2. C++STLでのセットとマップ

    Setは抽象データ型であり、要素の値によって要素が識別されるため、各要素は一意である必要があります。要素の値は、セットに追加されると変更できませんが、その要素の変更された値を削除して追加することはできます。 マップは、マップされた方法で要素を格納する連想コンテナです。各要素には、キー値とマップされた値があります。 2つのマップされた値が同じキー値を持つことはできません。 したがって、上記から明らかなように、setには唯一のキーが含まれ、mapにはキーを持つ値が含まれ、どちらも一意でソートされた値を持つ必要があります。 順序付けされていない要素と並べ替えられていない要素には、unorder