std::max
提供: cppreference.com
![]() | このページは、Google 翻訳を使って英語版から機械翻訳されました。 翻訳には誤りや奇妙な言い回しがあるかもしれません。文章の上にポインタをおくと、元の文章が見れます。誤りを修正して翻訳を改善する手助けをしてください。翻訳についての説明は、ここをクリックしてください。 |
Defined in header <algorithm> | ||
template<class T > const T& max(const T& a, const T& b ); | (1) | |
template<class T, class Compare > const T& max(const T& a, const T& b, Compare comp ); | (2) | |
template<class T > T max(std::initializer_list<T> ilist); | (3) | (C++11およびそれ以降) |
template<class T, class Compare > T max(std::initializer_list<T> ilist, Compare comp ); | (4) | (C++11およびそれ以降) |
2つの値の大きい方を返します。.
3-4) Original:
Returns the greater of the two values.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
初期化子リスト
ilist
内の値の最大を返します。.Original:
Returns the greatest of the values in initializer list
ilist
.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
(1,3)のバージョンでは値を比較するoperator<使用、(2,4)のバージョンは、指定された比較関数
comp
を使用.Original:
The (1,3) versions use operator< to compare the values, the (2,4) versions use the given comparison function
comp
.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
目次 |
[編集]パラメータ
a, b | - | 比較する値 Original: the values to compare The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
ilist | - | 比較するための値で初期化子リスト Original: initializer list with the values to compare The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
comp | - | 比較関数. if a is less than b 場合、 trueを返します. 比較関数のシグネチャは以下と同等でなければなりません. bool cmp(const Type1 &a, const Type2 &b); シグネチャは |
型の要件 | ||
-T は LessThanComparable の要求を満足しなければなりません。 for the overloads (1) and (3) | ||
-T は CopyConstructible の要求を満足しなければなりません。 for the overloads (3) and (4) |
[編集]値を返します
1-2)a
の大きくb
。それらが等しい場合、リターンa
.Original:
The greater of
a
and b
. If they are equivalent, returns a
.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
ilist
における最大値。いくつかの値が最大と同等である場合は、一番左のいずれかを返します。.Original:
The greatest value in
ilist
. If several values are equivalent to the greatest, returns the leftmost one.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集]複雑性
1-2) 定数
3-4)ilist.size()
のリニアOriginal:
Linear in
ilist.size()
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集]可能な実装
First version |
---|
template<class T>const T& max(const T& a, const T& b){return(a < b)? b : a;} |
Second version |
template<class T, class Compare>const T& max(const T& a, const T& b, Compare comp){return(comp(a, b))? b : a;} |
Third version |
template<class T > T max(std::initializer_list<T> ilist){return*std::max_element(ilist.begin(), ilist.end());} |
Fourth version |
template<class T, class Compare > T max(std::initializer_list<T> ilist, Compare comp ){return*std::max_element(ilist.begin(), ilist.end(), comp);} |
[編集]例
このコードを実行します
#include <algorithm>#include <iostream>#include <string> int main(){std::cout<<"larger of 1 and 9999: "<< std::max(1, 9999)<<'\n'<<"larger of 'a', and 'b': "<< std::max('a', 'b')<<'\n'<<"longest of \"foo\", \"bar\", and \"hello\": "<< std::max({"foo", "bar", "hello"}, [](conststd::string& s1, conststd::string& s2){return s1.size()< s2.size();})<<'\n';}
出力:
larger of 1 and 9999: 9999 larger of 'a', and 'b': b longest of "foo", "bar", and "hello": hello
[編集]参照
二つの要素のうち、小さい方を返します Original: returns the smaller of two elements The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (関数テンプレート) | |
(C++11) | 大きく2つの要素のうち小さい方を返します Original: returns the larger and the smaller of two elements The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (関数テンプレート) |
範囲内の最大の要素を返します Original: returns the largest element in a range The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (関数テンプレート) |