定义:
枚举类型定义用关键字enum标识,形式为:
enum 标识符
{
枚举数据表
};
(1)enum是关键字,标识枚举类型。定义枚举类型必须用enum开头。
(2)枚举数据表中的名字是程序员自己设定,这些名字只是一个符号。但注意命名时要提高程序的可读性。
(3)枚举数据表的值都是整数。
(4)可以在定义类型时对枚举常量初始化。
(5)枚举类型可以进行比较。
(6)枚举常量不是字符串,不能用%s方式输出字符串。
注意事项:
1 枚举列表中的标识符的作用范围是全局的(严格来说是 main() 函数内部),不能再定义与它们名字相同的变量。
2 枚举列表中的标识符都是常量,不能对它们赋值,只能将它们的值赋给其他的变量。
枚举和宏其实非常类似:宏在预处理阶段将名字替换成对应的值,枚举在编译阶段将名字替换成对应的值。我们可以将枚举理解为编译阶段的宏。
代码示例:
#include <iostream>
#include <vector>
using namespace std;
enum Path {
Path_internal = 0,
Path_external
};
vector<enum Path>_flag;
int main()
{
if (1 > 9) {
_flag.push_back(Path_internal);
} else {
_flag.push_back(Path_external);
}
if(_flag.back() == Path_external) {
cout << "progrem is running ok" << endl;
}
return 0;
}