c++枚举enum

C++ 枚举与 extern 使用详解

枚举用来反映连续数据之间的关系,c++用enum进行申明 用来初始化enum的表达式必须是一个常量表达式

extern在函数和变量的声明使用,表明该函数或变量定义在其他文件或模块中,需要程序自动寻找

一些const对象定义在头文件中 默认时定义该变量的文件的局部变量 常量表达式在编译时就能计算出结果的表达式

当 const变量用常量表达式初始化时,可以保证所有的变量都有相同的值,const变量放在头文件中,大部分编译器在编译时都会用相应的常量表达式来替换对这些const变量的使用,所以在实践中,不会有任何存储空间用于存储用常量表达式初始化const变量,如果const变量不是用常量表达式初始化,那么他就不应该在头文件中定义,相反,和其他的变量一样,该const变量应该在一个源文件中定义并初始化,应在头文件中为他添加extern声明,以使其能被多个文件共享

 

C++中的枚举类型(enum)是一种用户定义的数据类型,它用于定义一组命名的整数常量枚举类型的语法如下: ```c++ enum 枚举类型名 { 枚举值1, 枚举值2, ... }; ``` 其中,枚举值可以是任何整数常量,如果没有显式地为枚举值指定值,则第一个枚举值默认为0,后续枚举值依次加1。例如: ```c++ enum Weekday { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }; ``` 上述代码定义了一个Weekday枚举类型,其中Monday的值为0,Tuesday的值为1,以此类推。 可以通过以下方式定义枚举值的值: ```c++ enum Weekday { Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6, Sunday = 7 }; ``` 上述代码定义了一个Weekday枚举类型,与之前的定义不同的是,这里显式地为每个枚举值指定了值。 枚举类型可以用于定义变量、函数参数、函数返回值等,例如: ```c++ enum Weekday { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }; Weekday today = Monday; void printWeekday(Weekday day) { switch (day) { case Monday: cout << "Monday" << endl; break; case Tuesday: cout << "Tuesday" << endl; break; case Wednesday: cout << "Wednesday" << endl; break; case Thursday: cout << "Thursday" << endl; break; case Friday: cout << "Friday" << endl; break; case Saturday: cout << "Saturday" << endl; break; case Sunday: cout << "Sunday" << endl; break; } } Weekday getNextDay(Weekday day) { return static_cast<Weekday>((day + 1) % 7); } ``` 上述代码定义了一个Weekday枚举类型以及一些与之相关的变量和函数。注意,在printWeekday函数中,我们使用了switch语句来根据传入的Weekday枚举值进行不同的操作。在getNextDay函数中,我们使用了static_cast将整数常量转换为Weekday类型。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值