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

ユーザー定義のデータ型としてキーを持つC++マップ


マップは、キーと値のペアの形式で情報を格納するデータ構造です。 C ++では、マップは STLで定義されます (標準テンプレートライブラリ)および順序付けられた形式でキーを保存します。

地図を定義する構文

map<key_type , value_type> map_name;

マップのこれら2つのデータのいずれかのデータ型は、任意のデータ型にすることができます。マップ内のキーまたは値のデータ型として、プライマリデータ型または派生データ型のいずれかを使用できます。

マップのキーのデータ型として、任意のデータ型を使用できます。ユーザー定義のデータ型でも、キーデータ型として使用できます。

次に、新しいデータ型を定義するデータ構造を作成します。そして、それを地図の鍵として使用します。

構文

struct key{
   float f;
}

作成されたマップでこのユーザー定義のデータ型を使用すると、プログラマーはマップからより有益なデータセットを取得できます。構造体には任意の数のデータを含めることができます。この場合、配列やその他のデータ構造も考慮に入れることができます。

#include <bits/stdc++.h>
using namespace std;
struct kdata {
   float id;
};
bool operator<(const kdata& t1, const kdata& t2){
   return (t1.id < t2.id);
}
int main(){
   kdata t1 = { 4.5 }, t2 = { 12.3 }, t3 = { 67.8 }, t4 = { 65.2 };
   map<kdata, char> maps;
   maps[t1] = a;
   maps[t2] = h;
   maps[t3] = m;
   maps[t4] = q;
   cout<<"The map data is ";
   for (auto x : maps)
      cout << x.first.id << " > " << x.second << endl;
   return 0;
}

出力

The map data is
4.5 > a
12.3 > h
67.8 > m
65.2 > q

  1. C ++のプリミティブデータ型とは何ですか?

    プリミティブ型は、それが表すことができる値が非常に単純な性質(数値、文字、または真理値)を持つデータ型です。プリミティブ型は、あらゆるプログラミング言語の最も基本的な構成要素であり、より複雑なデータ型のベースです。 C++には次のプリミティブデータ型があります- S.No タイプ 説明 1 ブール値 値trueまたはfalseのいずれかを格納します。 2 char 通常は1オクテット(1バイト)。これは整数型です。 3 int マシンの整数の最も自然なサイズ。 4 フロート 単精度浮動小数点値。 5 do

  2. C ++の変数と変数の種類は何ですか?

    変数は、プログラムが操作できる名前付きストレージを提供します。 C ++の各変数には特定のタイプがあり、変数のメモリのサイズとレイアウトを決定します。そのメモリ内に格納できる値の範囲。変数に適用できる一連の操作。変数の非常に単純な例は-です。 int my_val = 5; ここでは、int(integer)型の変数my_valがあり、値は5です。より一般的には、変数は-として定義されます。 type variable_name; または、それらも初期化したい場合- type variable_name = value; 変数の名前は、文字、数字、および下線文字で構成できます。文字またはア