标签:int 传递 初始 book div color last strong vector
pair实质上是一个结构体,其主要的两个成员变量是first和second,这两个变量可以直接使用。
1 pair的应用
pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair。
(1)STL中的map就是将key和value放在一起来保存。
(2)另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。
2:初始化
pair包含两个数值,与容器一样,pair也是一种模板类型。但是又与之前介绍的容器不同,在创建pair对象时,必须提供两个类型名,两个对应的类型名的类型不必相同
pair<string,string>anon; pair<string,int>word_count; pair<string, vector<int> >line;
当然也可以在定义时为每个成员提供初始化式:
pair<string,string>author("James","Joy");
pair类型的使用相当的繁琐,如果定义多个相同的pair类型对象,可以使用typedef简化声明:
typedef pair<string,string> Author; Author proust("March","Proust"); Author Joy("James","Joy");
对于pair类,可以直接访问其数据成员:其成员都是公有的,分别命名为first和second,只需要使用普通的点操作符
string firstBook; if(author.first=="James" && author.second=="Joy") firstBook="Stephen Hero";
除了构造函数,标准库还定义了一个make_pair函数,由传递给它的两个实参生成一个新的pair对象
pair<string, string> next_auth; string first,last; while(cin>>first>>last) { next_auth=make_pair(first,last); //... }
还可以用下列等价的更复杂的操作:
next_auth=pair<string,string>(first,last);
由于pair的数据成员是公有的,因而可如下直接地读取输入:
1 pair<string, string> next_auth; 2 while(cin>>next_auth.first>>next_auth.last) { 3 //... 4 }
标签:int 传递 初始 book div color last strong vector
原文地址:https://www.cnblogs.com/lvmf/p/10777261.html