pair 类也是标准库的一部分它使得我们可以在单个对象内部把相同类型或不同类型的
两个值关联起来为了使用pair 类我们必须包含下面的头文件#include <utility>
例如
pair< string, string > author( "James", "Joyce" );
创建了一个pair 对象author 它包含两个字符串分别被初始化为James 和Joyce
我们可以用成员访问符号member access notation 访问pair 中的单个元素它们的名
字为first 和second 例如
string firstBook;
if ( author.first == "James" &&
author.second == "Joyce" )
firstBook = "Stephen Hero";
示
typedef pair< string, string > Authors;
Authors proust( "marcel", "proust" );
Authors joyce( "james", "joyce" );
Authors musil( "robert", "musil" );
针
class EntrySlot;
extern EntrySlot* look_up( string );
typedef pair< string, EntrySlot* > SymbolEntry;
SymbolEntry current_entry( "author", look_up( "author" ));
// ...
if ( EntrySlot *it = look_up( "editor" ))
{
current_entry.first = "editor";
current_entry.second = it;
}
定义方法:
1 pair<int, double> p1; //使用默认构造函数
2 pair<int, double> p2(1, 2.4); //用给定值初始化
3 pair<int, double> p3(p2); //拷贝构造函数
访问元素:
1 pair<int, double> p1; //使用默认构造函数
2 p1.first = 1;
3 p1.second = 2.5;
4 cout << p1.first << ' ' << p1.second << endl;
赋值
1 利用make_pair
1 pair<int, double> p1;
2 p1 = make_pair(1, 1.2);
2变量间相互赋值
pair<int, double> p1(1, 1.2);
pair<int, double> p2 = p1;