1.定义枚举类型:首先,我们定义枚举类型来表示需要转换的常量集合。 2.使用预处理器宏:我们使用预处理器宏来自动生成枚举常量与字符串常量之间的映射关系。通过在宏中使用#define和#undef来定义和取消宏,我们可以自动生成枚举常量和字符串常量之间的映射关系。 3.生成字符串数组:在定义完枚举类型后,我们通过宏来自动生...
在学习C语言宏的时候,有看到 “#” 在宏(#define)中有一些特殊的用法,这里先回顾一下: #: 预处理阶段,将宏参数转化为字符串 ##: 预处理阶段,将两个标识符拼接成一个标识符 通过第一个用法,如果能够将 “#” 与枚举结合起来,似乎就能实现枚举转成字符串了。如何实现呢? 经过一次次迭代,大佬们...
等于用宏创建一个getter函数#definecDPodRecordTypeGet (___DPodRecordType == nil ? ___DPodRecordType = [[NSArray alloc] initWithObjects:\@"A",\@"CNAME",\@"MX",\@"TXT",\@"NS",\@"AAAA",\@"SRV",\@"URL", nil] : ___DPodRecordType)//枚举 to 字串#definecDPodRecordTypeString(t...
日志文本:一般有个数字id,一个枚举名,以及一个字符串 告警文本:一般有个告警的级别,一些模块信息,外加一个字符串 界面文本:一般是一个数字id跟,一个检索的key,以及一个字符串 为了实现收集到一起的目标,我们定义一个 resource.inc.h 文件,内容如下: RES_LOG(50001,LOG_OPEN_FAILD,"打开文件失败")RES_LOG(...
同时为了减少手写代码的数量,利用宏定义的特性,将值的文本名称直接转成了字符串,就不用手动再去写一遍名称的字符串了。 使用上保留了原来c语言中定义枚举的语法,用xxx={a1,a2,a3};的方式,使代码阅读更符合习惯。 在计算数组长度方面,c语言不比其他语言,java的array.length(),python的len(list),都可以快速准确...
1)#define 叫做宏定义命令它也是C语言预处理命令的一种,所谓宏定义,就是用一个标识符来表示一个字符串。如果在后面的代码中出现了该标识符,那么就全部替换成指定的字符串。 2)#define N 100 就是宏定义,N为宏名,100是宏的内容(宏所表示的字符串)。在预处理阶段,对程序中所有出现的“宏名”,预处理器都会...
你可能想退房GCCXML.在示例代码上运行GCCXML会产生以下结果:<GCC_XML> <Namespace ...
不可以,但可以转换 enum DPodRecordType{ DPodRecordTypeA = 0, DPodRecordTypeCNAME, DPodRecordTypeMX, DPodRecordTypeTXT, DPodRecordTypeNS, DPodRecordTypeAAAA, DPodRecordTypeSRV, DPodRecordTypeURL }; typedef enum DPodRecordType DPodRecordType; ...
h 头文件,通过不同的宏定义,重用文件 UnrealNames.inl,完成枚举和字符串之间的双向映射。
相比之下, Swfit要简单的多。Swift枚举类型引入了Raw Value的概念,每个枚举case的Raw Value可以是其case name。假设有case up,则up.rawValue = "上"。 那有没有更简单的一步到位的方法,在定义时候就榜单相应的字符串呢?看到一篇文章OC枚举值到字符串转换, 作者用宏替换实现了将枚举值映射为对应的字符串,如枚...