天天看點

VC6.0不支援标準庫函數max和min

今天寫程式時在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,如需轉載請自行聯系原作者

繼續閱讀