min与max
c++
包含在c++标准库中头文件中,在头文件<windows.h>中定义了min,max的宏,若在包含的同时包含<windows.h>会导致函数无法使用。
<windows.h>提供了_cpp_min等函数来代替min函数的功能。
C++11标准:中min函数的原型
default (1)
1
| template <class T> const T& min (const T& a, const T& b);
|
custom (2)
1 2
| template <class T, class Compare> const T& min (const T& a, const T& b, Compare comp);
|
initializer list (3)
1 2 3
| template <class T> T min (initializer_list<T> il); template <class T, class Compare> T min (initializer_list<T> il, Compare comp);
|
例程:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| #include<iostream> #include<algorithm> using namespace std; struct var { char *name; int key; var(char *a,int k):name(a),key(k){} }; bool comp(const var& l, const var& r) { return l.key < r.key; } int main() { var v1("var1", 2); var v2("var2", 3); cout << std::min(v1, v2,comp).name << endl; return 0; }
|
输出: