C++ 宏-如何使用宏-宏的一些简单用法(#1)
属性 | 值 |
---|---|
平台 | Win10 |
IDE | VS2019 |
语言 | C++ |
简单的介绍C++的各种宏用法
本篇为系列文章第一篇,主要讲解关于宏的基本知识
一、预定义宏
此处仅仅简单列出几个预定义宏,详细数据请查看MSDN官方文档。
预定义宏 | 含义 |
---|---|
_LINE_ | 编译时所在行号 |
_FILE_ | 编译时所在文件文件名 |
_DATE_ | 编译时日期 |
_TIME_ | 编译时时间 |
_COUNTER_ | 引用计数,从0开始 |
_FUNCDNAME_ | 封闭函数的修饰名称 |
_FUNCSIG_ | 封闭函数的函数签名 |
_FUNCTION_ | 封闭函数的未修饰名称 |
_VA_ARGS_ | 变长参数包 |
预定义宏的作用就是,在预处理阶段自动处理一些信息。
二、宏运算符
MSVC支持三种宏运算符,利用这三种宏运算符,我们可以大做文章
运算符 | 含义 |
---|---|
# | 字符串化 |
@# | 字符化 |
## | 粘贴合并 |
让我们通过一些简单的示例,掌握这三种宏运算符,其中我们用的较多的是字符串化和粘贴合并。
#define MAKE_MAPPING(NAME) const char NAME[] = #NAME;
MAKE_MAPPING(playerWeapon)