在学习关联容器之前,首先先要了解一下STL中的pair类模板,因为关联容器的一些成员函数返回值都是pair对象,而且map 和multimap中的元素都是pair对象。
1)pair类模板定义
pair实例化出来以后的类都有两个成员变量,一个是first,另一个是second。
STL中还有一个make_pair()函数模板,可以返回一个pair模板对象。源码如下:
template<class T1, class T2>
pair<T1,T2>make_pair(T1 x, T2 y)
{
return (pair<T1,T2>(x,y);
}
2)pair和make_pair的用法
//program 19.4.1.cpp pair和make_pair的用法: #include <iostream> using namespace std; int main() { pair<int,double> p1; cout << p1.first << "," << p1.second << endl; //输出 0,0 pair<string,int> p2("this",20); cout << p2.first << "," << p2.second << endl; //输出 this,20 pair<int,int> p3(pair<char,char>(‘a‘,‘b‘)); //用第三个构造函数初始化(第三个构造函数是函数模板,参数是一个pair类对象的引用), //因此生成一个临时对象来进行初始化 cout << p3.first << "," << p3.second << endl; //输出 97,98 pair<int,string> p4 = make_pair(200,"hello"); cout << p4.first << "," << p4.second << endl; //输出 200,hello return 0; }
注意长注释
时间: 2024-10-10 01:56:52