今天寫程式時在VC6.0中用到了函數max()和min()來求最大值和最小值,結果發現VC6.0不支援這兩個函數,這應該是vc的問題吧,連标準庫函數都不支援,不過這也正常,畢竟VC6.0不支援C++标準。本人自己寫了這兩個函數,C++标準庫是這樣實作的,是以可以當作庫函數使用。
max()和min()函數的實作如下:
template<class T, class Compare>
inline const T& max(const T& a, const T& b, Compare comp)
{
return comp(a, b) ? b : a;
}
template<class T, class Compare>
inline const T& min(const T& a, const T& b, Compare comp)
return comp(b, a) ? b : a;
使用方式如下:
bool int_less(int a, int b)
return a < b;
int main()
int a = 10;
int b = 20;
int result;
result = max(a, b, int_less);
cout << "max(a, b): " << result << endl;
result = min(a, b, int_less);
cout << "min(a, b): " << result << endl;
return 0;
本文轉自panpan3210 51CTO部落格,原文連結:http://blog.51cto.com/panpan/103074,如需轉載請自行聯系原作者