马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
- C++ STL 尺度库提供了 pair 类模板,专门用来将 2 个平常元素 first 和 second(可以是 C++ 根本数据范例、结构体、类自定的范例)创建成一个新元素<first, second>。
- 头文件 <utility>
【 1. pair 对象的创建 】
- // 1. 默认构造函数,即创建空的 pair 对象
- pair <DataType1, DataType2> pair1;
复制代码
- // 2. 直接使用 2 个元素初始化成 pair 对象
- pair <DataType1, DataType2> pair2(DataType1_Value, DataType2_Value);
复制代码
- // 3. 拷贝构造函数:即借助另一个 pair 对象,创建新的 pair 对象
- pair <DataType1, DataType2> pair3(pair2);
复制代码
- 移动构造函数(C++ 11 尺度新增)
在创建 pair4 对象时,调用了 make_pair() 函数 ,它也是 <utility> 头文件提供的,其功能是 天生一个 pair 对象。因此,当我们将 make_pair() 函数的返回值(是一个暂时对象,这个暂时对象是右值,意味着它是一个暂时存在的、不可修改的对象)作为参数转达给 pair() 构造函数时,其调用的是移动构造函数,而不是拷贝构造函数。
- // 4. 移动构造函数
- pair <DataType1, DataType2> pair4 (make_pair(DataType1_Value, DataType2_Value));
- //或:
- pair <DataType1, DataType2> pair4 = make_pair(DataType1_Value, DataType2_Value);
复制代码
- // 5. 使用右值引用参数,创建 pair 对象
- pair <DataType1, DataType2> pair5(DataType1(DataType1_Value), DataType2(DataType2_Value));
复制代码
[code][/code] |