std::map的使用
一. std::map的定义
// std::map 的定义
template<class _Kty, // Key
class _Ty, // Value
class _Pr = less<_Kty>, // 比较器
class _Alloc = allocator<pair<const _Kty, _Ty> > > // 内存分配器
class map
: public _Tree<_Tmap_traits<_Kty, _Ty, _Pr, _Alloc, false> > // 父类(红黑树)
{
......
}
二. std::map的比较器
2.1 默认比较器
// std::map的默认比较器
// 要实现Key的 "<" 操作符
template<class _Ty>
struct less : public binary_function<_Ty, _Ty, bool>
{
// functor for operator<
bool operator()(const _Ty& _Left, const _Ty& _Right) const
{
// apply operator< to operands
return (_Left < _Right);
}
};