make_pair
2009-07-22 15:49
281 查看
Utilities <utility>
由短小精干的类和函数构成,执行最一般性的工作。
这些工具包括:
general types
一些重要的C函数
numeric limits
Pairs
C++标准程序库中凡是“必须返回两个值”的函数, 也都会利用pair对象
class
pair可以将两个值视为一个单元。容器类别map和multimap就是使用pairs来管理其健值/实值(key/va
lue)的成对元素。
pair被定义为struct,因此可直接存取pair中的个别值.
两个pairs互相比较时, 第一个元素正具有较高的优先级.
例:
namespace std{
template <class T1, class T2>
bool operator< (const pair<T1, T2>&x, const pair<T1, T2>&y){
return x.first<y.first || ((y.first<x.first)&&x.second<y.second);
}
}
make_pair():
无需写出型别, 就可以生成一个pair对象
例:
std::make_pair(42, '@');
而不必费力写成:
std::pair<int, char>(42, '@')
当有必要对一个接受pair参数的函数传递两个值时, make_pair()尤其显得方便,
void f(std::pair<int, const char*>);
void foo{
f(std::make_pair(42, '@')); //pass two values as pair
}
由短小精干的类和函数构成,执行最一般性的工作。
这些工具包括:
general types
一些重要的C函数
numeric limits
Pairs
C++标准程序库中凡是“必须返回两个值”的函数, 也都会利用pair对象
class
pair可以将两个值视为一个单元。容器类别map和multimap就是使用pairs来管理其健值/实值(key/va
lue)的成对元素。
pair被定义为struct,因此可直接存取pair中的个别值.
两个pairs互相比较时, 第一个元素正具有较高的优先级.
例:
namespace std{
template <class T1, class T2>
bool operator< (const pair<T1, T2>&x, const pair<T1, T2>&y){
return x.first<y.first || ((y.first<x.first)&&x.second<y.second);
}
}
make_pair():
无需写出型别, 就可以生成一个pair对象
例:
std::make_pair(42, '@');
而不必费力写成:
std::pair<int, char>(42, '@')
当有必要对一个接受pair参数的函数传递两个值时, make_pair()尤其显得方便,
void f(std::pair<int, const char*>);
void foo{
f(std::make_pair(42, '@')); //pass two values as pair
}
相关文章推荐
- pair make_pair
- pair 和make_pair比较,以及在map中的用法
- make_pair用法
- C++ std::pair 与 std::make_pair
- pair & make_pair
- [C++]pair<int,int>与make_pair<int,int>
- make_pair
- zzulioj--1089--make pair(dfs+模拟)
- make_pair
- pair与make_pair
- C++ std::pair 与 std::make_pair
- map, pair and make_pair
- make_pair()解析
- 刚刚接触到一个STL的函数make_pair()
- make_pair 使用
- c++中的std::pair与std::make_pair
- VS2012 error C2664: “std::make_pair”:无法将左值绑定到右值引用
- C++ std::pair 与 std::make_pair
- pair和make_pair的使用
- zzulioj--1089--make pair(dfs+模拟)