在C/C++在C/C++的开发中经常会遇到各种数据类型互转的情况,正常的互转有:单个枚举转int数,int数转float数,float数转double数等。但是我们有时也会遇到多个枚举值与数字互转的情形(例如多个算法类型枚举开启标志转成数字,这个数字来表示多个标志位,按位来表示)。这样一个数字就能表示很多个标志位了,针对内存较少的嵌入式设备,
你可以直接使用int作为应用类型,将这个枚举作为赋值数据。然后在这个成员变量上注释一下它使用的是枚举。...
enum Test : int {A, B}; int a = 1; Test val{a}; 当然,Test val{1};也是有效的。 相关的cppreference部分内容如下(强调我的): 如果满足以下所有条件,则可以使用列表初始化从不进行强制转换的整数初始化枚举: 初始化是直接列表初始化 初始化列表只有一个元素 枚举是作用域的或非作用域的,基础类型是固...
(1) 枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号,隔开。 (2) DAY是一个标识符,可以看成这个集合的名字,是一个可选项,即是可有可无的项。 (3) 第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。 (4) 可以人为设定枚举成员的值,从而自定义某个...
因此在实际开发中应该尽量避免枚举和字符串之间的转换。3.枚举和数字之间转换 枚举转换为数字我们可以使用强转,例如 (int)Country.CN 返回结果是 0 。从数字转换为枚举我们有两种方法,一种是使用强转,另一种是使用 Enum 的静态方发 ToObject。强转强转就比较简单了,Country country = (Country)2ToObjectTo...
} } // 枚举01串翻转操作 void enumerate(char *str, int n) { int i, j, k; for...
class Program { static void Main(string[] args) { int k = (int)DateTime.Now.DayOfWeek;//获取当前日期是星期几的数字返回值 switch (k) { //如果变量k与WeekEn枚举类型中的week1~week7枚举值相等则输出相应是周几 case (int)WeekEn.week1: Console.WriteLine("today(今天)...
一、枚举常量之间的转换 在C语言中,枚举常量是枚举类型的取值,它们之间可以相互转换。枚举常量之间的转换可以使用赋值运算符进行,如下所示: ```c enum Color { RED, GREEN, BLUE }; enum Color myColor; myColor = RED; ``` 上述代码中,我们定义了一个名为`Color`的枚举类型,其中包含三个枚举常量`RED`、...
枚举类型强制转换就是其中一种常见的类型转换方式。本文将详细讲解C语言中的枚举类型强制转换,希望对读者有所帮助。 一、枚举类型的定义方式 在C语言中,枚举类型是通过enum关键字定义的。其基本语法格式如下: enum 枚举类型名 { 枚举值1, 枚举值2, …… }; 其中,枚举类型名是程序员自己定义的类型名,可以用于...
枚举类型 构造类型 数组类型 [] 结构体类型 struct 共用体类型 union 指针类型 * 空类型 基本数据类型 数据类型占用的字节大小和编译器的位数有很大关系。见:链接。下面以64位编译器为例 我们还可以再l(长整型)或d(整型)后面使用x(十六进制)或o(八进制), ...