今天写程序时在VC6.0中用到了函数max()和min()来求最大值和最小值,结果发现VC6.0不支持这两个函数,这应该是vc的问题吧,连标准库函数都不支持,不过这也正常,毕竟VC6.0不支持C++标准。本人自己写了这两个函数,C++标准库是这样实现的,所以可以当作库函数使用。
max()和min()函数的实现如下:
使用方式如下:
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;
}
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;
}
{
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;
}
转载于:https://blog.51cto.com/panpan/103074