C++STL常用操作之pair篇
阿新 • • 發佈:2021-01-24
C++STL常用操作之pair篇
簡介:
pair(英文意義是一對、一雙、對子)。沒錯,C++中pair就是一對的意思。
其功能就是將一對值組合成為一個值,這一對值可以具有不同的資料型別(T1,T2),兩個值可以分別用pair的兩個公有函式first和second訪問。可以和struct做一些類比,但是它的使用會方便很多。
#include<utility>
template <class T1, class T2> struct pair;
標頭檔案在程式碼中已經存在std的時候,就不需要再引用了
using namespace std;
即相當一部分程式碼中都會寫上這個語句,而std中會對pair進行重複申明,那麼我們可以不引用標頭檔案以節約資源。
1.構造
pair<int, int> p1; //預設建構函式
pair<int, double> p2(1, 1.5); //給定值的建構函式
pair<string, int> p3 = make_pair("pair", 4);//利用make_pair賦值
pair<string, int> p4(p3); //拷貝建構函式
first和second可以是任意型別,也可以是自定義的struct型別。
2.訪問、獲取
pair<int, double> p1(1, 1.5); //給定值的建構函式
p1.first = 2;
p1.second = 2.5;
cout << p1.first << endl << p1.second << endl;
比如在一個函式需要有兩個返回值的時候,如果是相同的型別,可能會想到用陣列,那麼如果不是相同型別的,可能會想到用一個struct,但是為了使用方便可以直接使用c++自帶的pair。
那麼問題來了,如果需要三個返回值呢?
極端!
pair<int, pair<int, int>> p; p.first = 1; p.second.first = 2; p.second.second = 3; cout << p.first << endl << p.second.first << endl << p.second.second << endl;
pair基礎知識!
發現問題歡迎指正!
希望能幫助到你!有問題請留言!