本篇 ShengYu 介紹 C++ std::pair 用法與範例,std::pair
是 C++ 標準函式庫中的一個類範本,用於將兩個值捆綁在一起,形成一個有序的對(pair)。std::pair
是一個非常有用的工具,特別是用於將兩個不同類型的值關聯在一起,以便一起傳遞、返回或儲存。接下來看看 std::pair 用法範例。
要使用 std::pair 的話,需要引入的標頭檔: <utility>
C++ 建立 std::pair
以下是 C++ 建立 std::pair
的用法,1
2
3
4
5
6
7
8
9// g++ std-pair.cpp -o a.out
int main() {
// 建立一個 std::pair 對象,將整數和字串關聯在一起
std::pair<int, std::string> myPair(100, "Tom");
return 0;
}
訪問 std::pair
中的元素
你可以使用 first
和 second
成員來訪問 std::pair
中的第一個和第二個元素,1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16// g++ std-pair2.cpp -o a.out
int main() {
std::pair<int, std::string> myPair(100, "Tom");
std::cout << myPair.first << "\n";
std::cout << myPair.second << "\n";
int firstValue = myPair.first; // 取得第一個元素的值
std::string secondValue = myPair.second; // 取得第二個元素的值
std::cout << firstValue << "\n";
std::cout << secondValue << "\n";
return 0;
}
輸出如下:1
2
3
4100
Tom
100
Tom
使用 std::make_pair
建立 std::pair
std::make_pair
是一個方便的函數,用來建立 std::pair
,它可以自動推斷元素的類型,1
2
3
4
5
6
7
8
9
10
11// g++ std-pair3.cpp -o a.out
int main() {
auto anotherPair = std::make_pair(3.14, "Hello World");
std::cout << anotherPair.first << "\n";
std::cout << anotherPair.second << "\n";
return 0;
}
輸出如下:1
23.14
Hello World
比較 std::pair
std::pair
支援比較運算子,你可以使用 ==
, !=
, <
, >
, <=
, 和 >=
來比較兩個 std::pair
對象,1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16// g++ std-pair4.cpp -o a.out
int main() {
std::pair<int, std::string> pair1(100, "Tom");
std::pair<int, std::string> pair2(100, "Tom");
if (pair1 == pair2) {
std::cout << "相等\n";
} else {
std::cout << "不相等\n";
}
return 0;
}
輸出如下:1
相等
使用 std::pair
在容器中儲存關聯資料
std::pair
可以用來在容器中儲存關聯的資料。例如,你可以使用 std::pair
在 std::vector
中儲存 key-value 對。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18// g++ std-pair5.cpp -o a.out
int main() {
std::vector<std::pair<int, std::string>> keyValuePairs;
keyValuePairs.push_back(std::make_pair(1, "One"));
keyValuePairs.push_back(std::make_pair(2, "Two"));
keyValuePairs.push_back(std::make_pair(3, "Three"));
for (int i = 0; i < keyValuePairs.size(); i++) {
std::cout << "key: " << keyValuePairs[i].first
<< ", value: " << keyValuePairs[i].second << "\n";
}
return 0;
}
輸出如下:1
2
3key: 1, value: One
key: 2, value: Two
key: 3, value: Three
使用 tie 取得回傳 std::pair
的元素值
在某些情況函式回傳 std::pair
時,可以使用 std::tie
來接收,這樣可以直接用變數接收 std::pair
的元素值,要用 std::tie
的話要引用 tuple 的標頭檔 <tuple>
,
1 | // g++ std-pair6.cpp -o a.out |
輸出如下:1
id: 100, name: Tom
以上就是 C++ std::pair 用法與範例介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!
其它相關文章推薦
C/C++ 新手入門教學懶人包
std::string 用法與範例
std::vector 用法與範例
std::sort 用法與範例
std::map 用法與範例
std::set 用法與範例