1. 程式人生 > >#include <utility>

#include <utility>

vps 模板類 iostream spa utili class return 操作符 復制

#include <utility>這個頭文件是什麽用法

utility頭文件定義了一個pair類型,是標準庫的一部分,其原型為:
template<class _Ty1,
class _Ty2> struct pair
{ // store a pair of values
typedef pair<_Ty1, _Ty2> _Myt;
typedef _Ty1 first_type;
typedef _Ty2 second_type;

pair()
: first(_Ty1()), second(_Ty2())
{ // construct from defaults
}

pair(const _Ty1& _Val1, const _Ty2& _Val2)
: first(_Val1), second(_Val2)
{ // construct from specified values
}

template<class _Other1,
class _Other2>
pair(const pair<_Other1, _Other2>& _Right)
: first(_Right.first), second(_Right.second)
{ // construct from compatible pair
}

void swap(_Myt& _Right)
{ // exchange contents with _Right
if (this != &_Right)
{ // different, worth swapping
std::swap(first, _Right.first);
std::swap(second, _Right.second);
}
}

_Ty1 first; // the first stored value
_Ty2 second; // the second stored value
};
可以看出這是一個模板類,定義了兩個數據成員:first、second和一組成員函數。
有兩個普通構造函數和一個復制構造函數,具體的還定義了一個make_pair函數和一些操作符,
函數的實現你可以看看標準庫的utility頭文件。另外,map的元素類型就是pair類型~



例子

#include <iostream>

#include <utility>

using namespace std;

pair<int, int> p;

int main()

{

cin >> p.first >> p.second;

cout << p.first << " " << p.second << endl;

return 0;

}

#include <utility>