c++におけるpairクラステンプレートの使い方の詳細
6900 ワード
pair:
ヘッダファイル:#include
クラステンプレート:template struct pair
パラメータ:T 1は1番目の値のデータ型であり、T 2は2番目の値のデータ型である.
機能:pairは、pairの2つの公有関数firstおよびsecondでそれぞれアクセスできる異なるデータ型(T 1およびT 2)を有する一対の値を1つの値に結合します.
具体的な使い方:
1.インスタンス化:
2.オブジェクトの割り当てとmake_pair()の応用:
3.pairの要素へのアクセス(first&second):
4.pair配列と要素のソート:
転載先:https://www.cnblogs.com/LGJC1314/p/7191644.html
ヘッダファイル:#include
クラステンプレート:template struct pair
パラメータ:T 1は1番目の値のデータ型であり、T 2は2番目の値のデータ型である.
機能:pairは、pairの2つの公有関数firstおよびsecondでそれぞれアクセスできる異なるデータ型(T 1およびT 2)を有する一対の値を1つの値に結合します.
具体的な使い方:
1.インスタンス化:
1 pair<string,string> p1("hello","word"); // default constructor
2 pair<double,int> p2(1.0,1);// constructor
3 pair<double,int> p3(p2); // copy
2.オブジェクトの割り当てとmake_pair()の応用:
1 pair<string,string> p1;
2 pair<string,string> p2("good","good");
3 p1= p2;
4 p1= make_pair("hello","word");
5 p1 = pair<string,string>("nice","nice");
3.pairの要素へのアクセス(first&second):
1 pair<double,int> p1(1.0,2);
2 pair<string,string> p2("hello","word");
3 int i = p1.second; // i = 2
4 double d = p1.first; // d = 1.0
5 string s1 = p2.first; // s1 = hello
6 string s2 = p2.second; // word
4.pair配列と要素のソート:
1 #include
2 #include
3 #include
4 using namespace std;
5 pair<int,int>pa[100];
6 int cmp(pair<int,int>a,pair<int,int>b){
7 if(a.first!=b.first)return a.first>b.first;
8 else return a.second<b.second;
9 }
10 int main(){
11 int a,b;
12 for(int i=0;i<5;i++)scanf("%d%d",&a,&b),pa[i]=make_pair(a,b);
13 sort(pa,pa+5,cmp);
14 for(int i=0;i<5;i++)printf("%d %d
",pa[i].first,pa[i].second);
15 return 0;
16 }
転載先:https://www.cnblogs.com/LGJC1314/p/7191644.html