# std::map<Key,T,Compare,Allocator>::value_compare

< cpp‎ | container‎ | map

class value_compare; |  |

`std::map::value_compare` 是函数对象，通过比较 pair 的首组分比较 `std::map::value_type` （关键-值 pair ）类型对象。

### 成员类型

类型 | 定义
`result_type` (C++17 中弃用)(C++20 中移除) | bool
`first_argument_type` (C++17 中弃用)(C++20 中移除) | `value_type`
`second_argument_type` (C++17 中弃用)(C++20 中移除) | `value_type`

这些成员类型由公开继承 std::binary_function<value_type, value_type, bool> 获得。 | (C++11 前)

### 受保护成员对象

Compare comp | 存储的比较器 (受保护成员对象)

### 成员函数

(构造函数) | 构造新的 `value_compare` 对象 (受保护成员函数)
operator() | 比较两个 `value_type` 类型的值 (公开成员函数)

## std::map<Key,T,Compare,Alloc>::value_compare::value_compare

protected: value_compare( Compare c ); |  |

初始化内部比较器的实例为 `c` 。

### 参数

c | - | 要赋值的比较器

## std::map<Key,T,Compare,Alloc>::value_compare::operator()

bool operator()( const value_type& lhs, const value_type& rhs ) const; |  |

通过调用存储的比较器比较 `lhs.first` 与 `rhs.first` 。

### 参数

lhs, rhs | - | 要比较的值

### 返回值

comp(lhs.first, rhs.first) 。

### 异常

可能抛出实现定义的异常。