C++におけるstd::maxの使い方は何ですか?

std::maxはC++標準ライブラリ内のテンプレート関数であり、2つの値を比較して大きい方を返すために使用されます。

std::max関数テンプレートには、異なる型の値を比較するために複数のオーバーロードバージョンがあります。通常、使用されるバージョンには以下のようなものがあります。

  1. std::max(a, b)はaとbを比較し、大きい方の値を返します。aとbは同じ型であるか、同じ型に暗黙的に変換できる型であることができます。
  2. std::max(a, b, comp)は、aとbの大小を比較し、カスタム比較関数compを使用して大小関係を決定します。compは2つのパラメータを受け取り、bool型に変換可能な値を返す呼び出し可能オブジェクト(関数ポインタ、関数オブジェクト、またはラムダ式など)です。comp(a, b)がtrueを返す場合、aはbよりも大きいと見なされます。それ以外の場合、bはaよりも大さいと見なされます。
  3. std::max(std::initializer_list ilist):初期化リストilist内で最大の値を見つけて、その値を返します。このバージョンは複数の値を比較する際に使用できます。

std::max関数の使用例:

#include <iostream>
#include <algorithm>

int main() {
    int a = 5;
    int b = 10;
    int max_value = std::max(a, b);
    std::cout << "Max value: " << max_value << std::endl;

    double x = 3.14;
    double y = 2.718;
    double max_value2 = std::max(x, y);
    std::cout << "Max value: " << max_value2 << std::endl;

    auto comp = [](int a, int b) { return a % 10 < b % 10; };
    int max_value3 = std::max(a, b, comp);
    std::cout << "Max value: " << max_value3 << std::endl;

    int max_value4 = std::max({1, 2, 3, 4, 5});
    std::cout << "Max value: " << max_value4 << std::endl;

    return 0;
}

結果を出力する: けっかをしゅつりょくする。

Max value: 10
Max value: 3.14
Max value: 5
Max value: 5
bannerAds