C++学習のPair

1827 ワード

C++学習のPair
Pairタイプの概要
pairはテンプレートタイプで、2つのデータ値が含まれています.2つのデータのタイプは異なります.基本的な定義は次のとおりです.
 
pair a;
aには2つのタイプがあり、1つ目の要素はint型で、2つ目の要素はstring型であり、pairを作成するときに初期化されていない場合は、デフォルトのコンストラクション関数を呼び出して初期化します.
 
pair a("James", "Joy");
上記のように定義したときに直接初期化することもできます.
 
pairタイプの使用は煩雑であるため、同じpairタイプを複数定義する場合はtypedefが宣言を簡略化することができます.
typedef pair author;
author pro("May", "Lily");
author joye("James", "Joyce");
 
 
Pairオブジェクトの操作
 

  • pairクラスの場合、firstとsecondという2つの要素しかないため、通常のポイントオペレータを直接使用してメンバーにアクセスできます.

  • pair a("Lily", "Poly"); 
    string name;
    name = pair.second;
  • 新しいpairオブジェクト
  • を生成する
    make_を使用できますpairは既存の2つのデータに対して新しいpairタイプを構築します.
    int a = 8;
    string m = "James";
    pair newone;
    newone = make_pair(a, m);
     
    C++pair(対グループ)の使い方
    クラステンプレート:template struct pair
    パラメータ:T 1は1番目の値のデータ型であり、T 2は2番目の値のデータ型である.
    機能:pairは、pairの2つの公有関数firstおよびsecondでそれぞれアクセスできる異なるデータ型(T 1およびT 2)を有する一対の値を1つの値に結合します.
    具体的な使い方:
    1.定義(構築):
    1     pair p1;  //        
    2     pair p2(1, 2.4);  //       
    3     pair p3(p2);  //      

    2.2つの要素(firstとsecondを介して):
    1     pair p1;  //        
    2     p1.first = 1;
    3     p1.second = 2.5;
    4     cout << p1.first << ' ' << p1.second << endl;

    出力結果:1 2.5
    3.割り当てoperator=:
     
    (1)利用make_pair:
     
    1     pair p1;
    2     p1 = make_pair(1, 1.2);

    (2)変数間付与:
     
        pair p1(1, 1.2);
        pair p2 = p1;