1、在g++中,max是个函数而不是宏,其定义在stl_algobase.h头文件中,代码为
注:引自 MinGW
另外algorthim头文件会include stl_algobase.h,因此在用的时候只直接include algorithm即可
2、vc6.0中,没有该函数的定义,相似的微软定义了一个这样的函数_cpp_max,其代码为:
注:vs2005以后已有max的定义
所以在vc6.0中max是不对的。
3、在stdlib.h中还有一个这样的定义
#define __max(a,b) (((a) > (b)) ? (a) : (b))
这里是一个宏,但这已经不是C++的,属于C的