enum类型
在拜读Bjarne Stroustrup的《The C++ Programming Language》之前,一直理所当然的认为enum类型相当于一个const int[]。其实不然,enum类型并非只是一个类似于整形常量数组的东东。
区别在于:用户定义的每一个enum类型的取值范围并非表面上的几个常量,而是一个更大的闭区间,区间内包含用户所定义的整形值。例如enum Month {mar=3, dec=10},其取值范围为[0,31]。所以,Month(0)~Month(31)都是合法取值。