std::min
来自cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Defined in header <algorithm>
|
||
| template< class T > const T& min( const T& a, const T& b ); |
(1) | |
| template< class T, class Compare > const T& min( const T& a, const T& b, Compare comp ); |
(2) | |
| template< class T > T min( std::initializer_list<T> ilist); |
(3) | (C++11 起) |
| template< class T, class Compare > T min( std::initializer_list<T> ilist, Compare comp ); |
(4) | (C++11 起) |
返回两个值中的较小者的.
3-4) Original:
Returns the smaller 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 smallest 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)版本使用给定的比较函数
compOriginal:
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. | |||||||||
| 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. | |||||||||
| Type requirements | |||||||||||
-T must meet the requirements of LessThanComparable. for the overloads (1) and (3)
| |||||||||||
-T must meet the requirements of CopyConstructible. for the overloads (3) and (4)
| |||||||||||
[编辑] 返回值
1-2)较小的
3-4) a和b。如果这两个值是相等的,返回a.Original:
The smaller of
a and b. If the values 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 smallest value in
ilist. If several values are equivalent to the smallest, returns the leftmost such value.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) Original:
Constant
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.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& min(const T& a, const T& b) { return (a < b) ? a : b; } |
| Second version |
template<class T, class Compare> const T& min(const T& a, const T& b, Compare comp) { return (comp(a, b)) ? a : b; } |
| Third version |
template<class T> T min( std::initializer_list<T> ilist) { return *std::min_element(ilist.begin(), ilist.end()); } |
| Fourth version |
template<class T, class Compare> T min(std::initializer_list<T> ilist, Compare comp) { return *std::min_element(ilist.begin(), ilist.end(), comp); } |
[编辑] 为例
Output:
smaller of 1 and 9999: 1 smaller of 'a' and 'b': a smaller of 3.5 and 2.5: 2.5
| 本节是不完整的 |
[编辑] 另请参阅
| 返回较大的两个元素 Original: returns the larger 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) |
返回的较大和较小的两个元素 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 smallest 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. (函数模板) | |