1. 程式人生 > 其它 >C++STL常用操作之pair篇

C++STL常用操作之pair篇

技術標籤:STLSTL簡單使用快速上手c++程式語言

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;

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-yDb6dITb-1610692379572)(C:\Users\30360\Pictures\Saved Pictures\222.png)]


pair基礎知識!

發現問題歡迎指正!

希望能幫助到你!有問題請留言!