提供可以通过它们比较值的键确定它们在 hash_map 的相对顺序比较 hash_map 元素的函数对象。
class value_compare
: std::public binary_function<value_type, value_type, bool>
{
public:
bool operator( )(
const value_type& _Left,
const value_type& _Right ) const
{
return ( comp( _Left.first, _Right.first ) );
}
protected:
value_compare( const key_compare& c ) : comp (c) { }
key_compare comp;
};
备注
在 hash_map 包含的全部元素之间的 value_compare value_types 提供的比较条件从在单个元素的键之间的一种比较会导致辅助由类构造。 成员函数在 value_compare 运算符提供的函数对象使用对象存储的 key_compare 类型 组件 比较两元素 SORT 键组件。
对于 hash_sets 和 hash_multisets,是简单容器的键值与值元素相同,value_compare 与 key_compare等效;对于 hash_maps 和 hash_multimaps 没有,因为 pair 类型元素的值与元素的键的值不相同。
在Visual C++ .NET 2003中,成员<hash_map> 和 <hash_set> 头文件不再在std命名空间,而是已经进入了stdext命名空间。 有关更多信息,请参见 stdext 命名空间。
示例
有关示例的 hash_map::value_comp 参见的示例演示如何声明和使用 value_compare。
要求
标头: <hash_map>
**命名空间:**stdext