C++宏(Macros)详解
宏是C++中由预处理器处理的指令,它们在编译前进行文本替换。宏在C++中扮演着重要角色,尽管现代C++推荐使用其他特性(如constexpr、inline函数和模板)来替代许多传统宏的用途。
宏的基本概念
宏使用#define指令定义,有两种主要形式:
-
对象式宏(Object-like Macros):简单的标识符替换
#define PI 3.14159 -
函数式宏(Function-like Macros):类似函数调用,可以带参数
#define MAX(a, b) ((a) > (b) ? (a) : (b))
宏的主要作用
1. 常量定义
#define BUFFER_SIZE 1024
#define VERSION "1.2.3"
优点:
- 在预处理阶段替换,不占用存储空间
- 可用于数组大小等需要编译时常量的场合
缺点:
- 现代C++推荐使用
const或constexpr替代constexpr int buffer_size = 1024;
2. 条件编译
#define DEBUG
#ifdef DEBUG
// 调试专用代码
#endif
#if __cplusplus >= 201103L
// C++11或更高版本专用代码
#endif
C++宏:从基础到高级用法解析

最低0.47元/天 解锁文章
1324

被折叠的 条评论
为什么被折叠?



