最終更新日時: 2026年02月17日 23時22分33秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<map>

# std::map::value_comp

    value_compare value_comp() const;           // (1) C++03
    constexpr value_compare value_comp() const; // (1) C++26

## 概要

コンテナに関連づけられた要素比較用の関数オブジェクトを返す。これはコンテナ内の二つの要素のキー部分を比較するために利用できる。 これは同じ型の 2 つの引数をとり、狭義の弱順序に従って一つ目の引数が二つ目の引数の前になる場合に `true`、そうでない場合に `false` を返す。

## 戻り値

要素比較用の関数オブジェクト。 `value_compare` はメンバ型である。`key_compare` とは異なり、単なる型の別名ではなく入れ子クラスである。

## 計算量

定数時間。

## 例

    #include <iostream>
    #include <map>

    int main()
    {
      std::map<int,char> c;
      const std::map<int,char>::value_compare& comp = c.value_comp();

      auto p1 = std::make_pair(1,'a');
      auto p2 = std::make_pair(2,'b');
      auto p3 = std::make_pair(3,'c');

      std::cout << comp(p1, p2) << std::endl;
      std::cout << comp(p3, p2) << std::endl;
    }

### 出力

    1
    0

### 処理系

- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: 2012 ✅

## 関連項目

名前 | 説明
--- | ---
`key_comp` | キー比較用の関数オブジェクトを返す
`find` | 指定したキーで要素を探す
`count` | 指定したキーにマッチする要素の数を返す
`lower_bound` | 与えられた値より小さくない最初の要素へのイテレータを返す
`upper_bound` | 特定の値よりも大きい最初の要素へのイテレータを返す

## 参照

- P3372R3 constexpr containers and adaptors