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

履歴 編集

function
<set>

# std::set::value_comp

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

## 概要

コンテナに関連づけられた比較オブジェクトを返す。これはコンテナ内の二つの要素を比較するために利用できる。
この比較オブジェクトはオブジェクトの構築時に設定され、関数ポインタであっても関数オブジェクトであっても良い。いずれにせよこれは同じ型の 2 つの引数をとり、狭義の弱順序に従って一つ目の引数が二つ目の引数の前になる場合に `true`、そうでない場合に `false` を返す。
`set` コンテナでは、要素の値はキーそのものであり、従って `value_comp` とその兄弟メンバ関数である `key_comp` は同じである。

## 戻り値

比較オブジェクト。
`value_compare` はメンバ型であり、テンプレートパラメータ `Compare` の別名として定義される。

## 計算量

定数時間。

## 例

    #include <iostream>
    #include <set>

    int main()
    {
      std::set<int> c;
      std::set<int>::value_compare comp = c.value_comp();

      std::cout << comp(1, 2) << std::endl;
      std::cout << comp(5, 3) << std::endl;
    }

### 出力

    1
    0

## 関連項目

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

## 参照

- P3372R3 constexpr containers and adaptors