描述
它構造一個pair對象,其第一個元素設置為x,第二個元素設置為y。
聲明
以下是 std::make_pair 函數的聲明。
template <class T1, class T2>
pair<T1,T2> make_pair (T1 x, T2 y);
C++11
template <class T1, class T2>
pair<V1,V2> make_pair (T1&& x, T2&& y);
參數
x, y─ 這是兩個值。
返回值
它返回一個 pair 對象,其元素 first 和 second 分別設置為 x 和 y。
異常
Basic guarantee- 如果類型 T 的構造或賦值拋出。
數據競爭
如果 T1 或 T2 中的一個(或兩者)是支持移動語義的類型的右值引用類型,則修改其相應的參數。
示例
在下麵的例子中解釋了 std::make_pair 函數。
#include <utility>
#include <iostream>
int main () {
std::pair <int,char> foo;
std::pair <int,int> bar;
foo = std::make_pair (1,'A');
bar = std::make_pair (100,3);
std::cout << "foo:" << foo.first << ", " << foo.second << '\n';
std::cout << "bar:" << bar.first << ", " << bar.second << '\n';
return 0;
}
讓我們編譯並運行上麵的程序,這將產生以下結果——
foo:1, A bar:100, 3
相關用法
- C++ utility move用法及代碼示例
- C++ utility move_if_noexcept用法及代碼示例
- C++ utility swap用法及代碼示例
- C++ utility rel_ops用法及代碼示例
- C++ utility piecewise_construct用法及代碼示例
- C++ utility forward用法及代碼示例
- C++ utility declval用法及代碼示例
- C++ unordered_map cbegin用法及代碼示例
- C++ unordered_set max_bucket_count()用法及代碼示例
- C++ unordered_multimap reserve()用法及代碼示例
- C++ unordered_multimap swap()用法及代碼示例
- C++ unordered_multiset get_allocator用法及代碼示例
- C++ unordered_set swap()用法及代碼示例
- C++ unordered_multimap rehash()用法及代碼示例
- C++ unordered_set equal_range用法及代碼示例
- C++ unordered_map rehash用法及代碼示例
- C++ unordered_map emplace_hint()用法及代碼示例
- C++ unordered_map key_eq()用法及代碼示例
- C++ unordered_multiset cend()用法及代碼示例
- C++ unordered_multimap get_allocator用法及代碼示例
注:本文由純淨天空篩選整理自 C++ Utility Library - make_pair Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。