std::max
From Cppreference
C++ Standard Library | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Algorithm library | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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) | |
Returns the greater of two values. The first version uses operator< to compare the values, the second version uses the given comparison function comp.
Contents |
Parameters
a, b | - | the values to compare | |||||||||
cmp | - | comparison function which returns true if if a is less than b. The signature of the comparison function should be equivalent to the following:
The signature does not need to have const &, but the function must not modify the objects passed to it. |
Return value
The greater of a and b.
Complexity
constant
Equivalent function
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; } |
Example
#include <algorithm> #include <iostream> int main() { std::cout << "larger of 1 and 9999: " << std::max(1, 9999) << std::endl; std::cout << "larger of 'a' and 'b': " << std::max('a', 'b') << std::endl; std::cout << "larger of 3.14159 and 2.71828: " << std::max(3.14159, 2.71828) << std::endl; return 0; }
Output:
larger of 1 and 9999: 9999 larger of 'a' and 'b': b larger of 3.14159 and 2.71828: 3.14159
See also
| returns the largest element in a range (function template) | |
| returns the smaller of two elements (function template) |