今日学习:
pair
C++中的结构模板,定义在头文件<utility>中,提供一个包含2个数据成员的结构体模板。
pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair。
(1)STL中的map就是将key和value放在一起来保存。
(2)另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair
pair的创建和初始化
pair<string, string> anon; // 创建一个空对象anon,两个元素类型都是string
pair<string, int> word_count; // 创建一个空对象 word_count, 两个元素类型分别是string和int类型
pair<string, vector<int> > line; // 创建一个空对象line,两个元素类型分别是string和vector类型
pair<string, string> author("James","Joy"); // 创建一个author对象,两个元素类型分别为string类型,并默认初始值为James和Joy。
pair<string, int> name_age("Tom", 18);
pair<string, int> name_age2(name_age); // 拷贝构造初始化
pair<float,string> p2={1.0,"today"};
pair<int, double> p1(1, 1.2);
pair<int, double> p2 = p1; // copy construction to initialize object
pair<int, double> p3;
p3 = p1; // operator =
pair<int ,double> p1;
p1.first = 1;
p1.second = 2.5;
cout<<p1.first<<' '<<p1.second<<endl;
利用make_pair创建新的pair对象
pair<int, double> p1;
p1 = make_pair(1, 1.2);
cout << p1.first << p1.second << endl;
pair<int,double> p2 = make_pair(12,3.14);
通过tie获取pair元素值
pair<int,int> Function(){
return make_pair(1,2);
}
int main(){
int a,b;
tie(a,b)=F