`magic_enum` 是一个 C++ 库,用于在枚举类型上提供一些额外的功能和便利性。它允许您以多种方式访问枚举类型的值,并提供了一些工具函数来操作枚举类型。具体来说,`magic_enum` 库提供了以下功能: 1. **枚举值转换为字符串:** 允许将枚举值转换为字符串表示,这对于日志记录、打印和调试非常有用。 2. **字...
二、magic_enum 在网上有开源的一个框架magic_enum,可以搞定枚举的反射,它其实就使用前一篇中所述的PRETTY_FUNCTION来实现的,这里不多做赘述,只给一个简单的例子: #include'include/magic_enum/magic_enum.hpp' enumclassRgbColor{RGB_RED,RGB_BLACK,RGB_WHITE,NOTHING}; voidGetColorMagic(conststd::string& st...
nothings/stb - 大名鼎鼎的 stb_image 系列,涵盖图像,声音,字体等,只需单头文件! Neargye/magic_enum - 枚举类型的反射,如枚举转字符串等(实现方式很巧妙) g-truc/glm - 模仿 GLSL 语法的数学矢量/矩阵库(附带一些常用函数,随机数生成等) Tencent/rapidjson - 单纯的 JSON 库,甚至没依赖 STL(可定制性高,...
enum PROTO{PROTO_HTTP,PROTO_FTP,PROTO_SMTP,PROTO_SSH,PROTO_NUM /* 表示协议数量 */};int nCntProto[PROTO_NUM]; 这种写法的好处在于,没有任何一个Magic Number。不管是引用某个统计值还是循环遍历数组,都使用的是定义好的常量。 当需求变更,需要增加新的协议,只要往enum中增加相应的enum常量即可(但要记得...
TIOBE开发语言排行榜每月更新一次,依据的指数是基于世界范围内的资深软件工程师和第三方供应商提供,其结果作为当前业内程序开发语言的流行使用程度的有效指标。 虽然不知道具体是如何进行排名的,但可信程度还是很高的。 再来看一组数据,近十几年 TOP 10 编程语言走势图: ...
1//malloc.c2#include"minicrt.h"34typedefstruct_heap_header5{6enum{7HEAP_BLOCK_FREE=0xABABABAB,//magic number of free block8HEAP_BLOCK_USED=0xCDCDCDCD,//magic number of used block9}type;//block type FREE/USED1011unsigned size;//block size including header12struct_heap_header*next;13struct...
Magic Enum - Header-only C++17 library provides static reflection for enums (to string, from string, iteration), work with any enum type without any macro or boilerplate code. [MIT] magic_get - std::tuple like methods for user defined types without any macro or boilerplate code. [Boost...
Neargye/magic_enum - 枚举类型的反射,如枚举转字符串等(实现方式很巧妙) g-truc/glm - 模仿 GLSL 语法的数学矢量/矩阵库(附带一些常用函数,随机数生成等) Tencent/rapidjson - 单纯的 JSON 库,甚至没依赖 STL(可定制性高,工程美学经典) ericniebler/range-v3 - C++20 ranges 库就是受到他启发(完全是头文...
C语言中的幻数 在c语言中,把直接使用的常数叫做幻数。在编程时,应尽量避免使用幻数,因为当常数需要改变时,要修改所有使用它的代码,工作量巨大,还可能有遗漏。因此通常把幻数定义为宏或枚举。建议使用枚举,因为它是编译阶段存在的符号,编译器的提示会更清晰、更准确。define ARRAY_SIZE 10 enum{...
dll) in Magic.exe: 0xC0000005: Access violation reading location 0x06FFFFFF. exe has triggered a breakpoint in vc++ mfc Executing popen command without opening windows command window Exporting static class members Exporting static member functions expression must have integral or unscoped enum type...