//* __STL_NO_BOOL: defined if the compiler doesn't have bool as a builtin type.
# if defined(__sgi)&&!defined(__GNUC__)
# include <standards.h>
# if!defined(_BOOL)
# define __STL_NO_BOOL
# endif
//......
# endif
//下面定义了bool
# if defined(__STL_NO_BOOL)&&!defined(__STL_DONT_USE_BOOL_TYPEDEF)
typedef int bool;
# define true 1
# define false 0
# endif
各编译器相差比较大的应该就是模板这一块了。里面定义了许多与模板相关的常量,如: __STL_CLASS_PARTIAL_SPECIALIZATION: defined if the compiler supports partial specialization of template classes. __STL_PARTIAL_SPECIALIZATION_SYNTAX: defined if the compiler supports partial specialization syntax for full specialization of class templates. (Even if it doesn't actually support partial specialization itself.) __STL_FUNCTION_TMPL_PARTIAL_ORDER: defined if the compiler supports partial ordering of function templates. (a.k.a partial specialization of function templates.) __STL_MEMBER_TEMPLATES: defined if the compiler supports template member functions of classes. __STL_MEMBER_TEMPLATE_CLASSES: defined if the compiler supports nested classes that are member templates of other classes. __STL_TEMPLATE_FRIENDS: defined if the compiler supports templatized friend declarations.