100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > C++ pair的使用

C++ pair的使用

时间:2019-05-03 04:49:49

相关推荐

C++ pair的使用

定义:

pair定义在头文件utility中,它可以保存两个数据成员,这两个数据成员类型可以不相同。

初始化

默认构造:std::pair<std::string, double> product1;值初始化:std::pair<std::string, double> product2("tomatoes", 2.30);复制初始化:std::pair<std::string, double> product3(product);使用make_pair:product1 = std::make_pair(std::string("light"), 0.99);列表初始化:pair<T1, T2>p = {v1, v2};

访问

p.first:访问名为first的(公有)数据成员(即T1

p.second:访问名为second的(公有)数据成员(即T2

get():

```cppstd::pair<int, char> foo(10, 'x');std::get<0>(foo) = 50; //get<I>, I为0时返回first的引用,为1时返回second的引用std::out << "foo contains: ";std::out << "std::get<0>(foo) << " and " << std::get<1>(foo) << "\n";```

其他操作

比较:

p1 relop p2: 关系运算符(<, >, <=, >=)按字典序定义: 如:当p1.first < p2.first!(p2.first < p1.first) && (p1.second < p2.second)成立时,p1 < p2true。关系运算符利用元素的<运算符来实现。

p1 == p2p1 != p2firstsecond成员分别相等时,两个pair相等。相等性用元素的==运算符实现

交换:

成员函数版:

cpp std::pair<int, char> foo(10, 'a'); std::pair<int, char> bar(90, 'z'); foo.swap(bar);

非成员函数版:

cpp std::pair<int, char> foo(10, 'a'); std::pair<int, char> bar(90, 'z'); swap(foo, bar);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。