C++中pair的用法
2015-08-05 18:19
387 查看
pair的类型:
pair 是 一种模版类型。每个pair 可以存储两个值。这两种值无限制。也可以将自己写的struct的对象放进去
应用:如果一个函数有两个返回值 的话,如果是相同类型,就可以用数组返回,如果是不同类型,就可以自己写个struct ,但为了方便就可以使用 c++ 自带的pair ,返回一个pair,其中带有两个值。除了返回值的应用,在一个对象有多个属性的时候 ,一般自己写一个struct ,如果就是两个属性的话,就可以用pair 进行操作。。。
应用pair 可以省得自己写一个struct 。。。如果有三个属性的话,其实也是可以用的pair 的 ,极端的写法
例子:看懂这个例子,应该就理解的差不多了
pair 是 一种模版类型。每个pair 可以存储两个值。这两种值无限制。也可以将自己写的struct的对象放进去
pair<string,int> p; pair<int ,int > p; pair<double,int> p; 都可以。。。
应用:如果一个函数有两个返回值 的话,如果是相同类型,就可以用数组返回,如果是不同类型,就可以自己写个struct ,但为了方便就可以使用 c++ 自带的pair ,返回一个pair,其中带有两个值。除了返回值的应用,在一个对象有多个属性的时候 ,一般自己写一个struct ,如果就是两个属性的话,就可以用pair 进行操作。。。
应用pair 可以省得自己写一个struct 。。。如果有三个属性的话,其实也是可以用的pair 的 ,极端的写法
pair <int ,pair<int ,int > >写法极端。(后边的两个 > > 要有空格,否则就会是 >> 位移运算符)
例子:看懂这个例子,应该就理解的差不多了
#include <utility> #include <iostream> using namespace std; int main() { pair<int,int> m_pair(20,2); typedef pair<int,int> Contain; Contain Con1(10,1); Contain Con2(30,3); if(20==m_pair.first && 2==m_pair.second) { cout<<"m_pair_first is "<<m_pair.first<<" AND m_pair_last is "<<m_pair.second<<endl; } cout<<"Con1_first is "<<Con1.first<<" AND Con1_last is "<<Con1.second<<endl; cout<<"Con2_first is "<<Con2.first<<" AND Con2_last is "<<Con2.second<<endl; cout<<endl<<endl; int first=0,last=0; cout<<"Input first"<<endl; cin>>first; cout<<"Input last"<<endl; cin>>last; pair<int,int> prInput=make_pair(first,last); //make_pair cout<<"prInput_first is: "<<prInput.first<<endl; cout<<"prInput_last is: "<<prInput.second<<endl; system("pause"); return 0; }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中ipair和pair的区别
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- C++ Custom Control控件向父窗体发送对应的消息