码迷,mamicode.com
首页 > 其他好文 > 详细

STL的pair学习

时间:2016-06-11 18:47:07      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

http://blog.csdn.net/calvin_zcx/article/details/6072286

http://www.linuxidc.com/Linux/2014-10/107621.htm

头文件  : <utility>

pair 的  <、>、<=、>=、==、!= 的比较规则  :  先比较first,first相等时再比较second   (可以通过重载这几个运算符来重新指定自己的比较逻辑)

pair的初始化:   pair<string, int> prt;        pair<string, int>pr2("hello", 5);   pair<string, int> pr3 = make_pair<string, int>("haha", 4);    pair<stirng, int>pr4 = make_pair("lll",3);

pair和vector交互:  pair<string, vector<int>> student;

pair访问元素:   pair<int, int> a(1,2);

                     cout<<"first="<<a.first<<"------"<<"second="<<a.second;

pair使用typedef技巧:   typedef pair<string, int>   nameInfo;

                                 nameInfo info("lucy", 4);

pair与标准输入流:   pair<string, string> input;

                          while(cin>>input.first>>input.second){ cout<<"info is"<<input.first<<":"<<input.second<<endl;}

          (ps : 直接使用cin的小技巧  abc[enter]d---->info is abc:d)

pair的隐式转换:      pair可以接受隐式的类型转换,这样可以获得更高的灵活度。但是这样会出现如下问题:例如有如下两个定义:

          pair<int, float>(1, 1.1);
          make_pair(1, 1.1);                 make_pair函数会将second变量都转换成double类型.这个问题在编程是需要引起注意。

          make_pair<int, float>(1,1.1);   如果想指定是float的可以像这样指明类型.

vector套用pair的一个小例子:

技术分享技术分享

 

STL的pair学习

标签:

原文地址:http://www.cnblogs.com/silentNight/p/5575622.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!