![]() |
1
5
对于简单的常量,您可以使用
在这种情况下,使用
|
![]() |
2
4
例如,使用常量。
或枚举
|
![]() |
3
0
然而,在使用常数时,上面两个答案是正确的
宏
宏是预处理器使用的代码片段,它们的工作方式与其他代码完全相同
这将真正取代
使用宏,您还可以传递参数,我发现它对于在代码上强制执行日志记录/异常策略特别有用。 例如
该代码使我能够确保每个人都使用引发异常的文件行进行日志记录。
模板通常是比宏更好的选择,但我不能在本例中使用模板函数,因为我需要使用
哪里不应该使用宏?任何你可以使用其他东西的地方。宏,和任何宏一样
|
![]() |
Timo · 如果宏变量后跟构成有效标识符的字符,则不会展开宏变量 7 年前 |
![]() |
user3623498 · 在#if中更改变量时出现问题 7 年前 |
![]() |
einpoklum · 来自#cmakedefine替换的意外结果 7 年前 |
![]() |
Joseph Franciscus · C中预处理器方法的别名++ 7 年前 |
![]() |
stoper · 防止同一宏在多个转换单元中具有不同的定义 7 年前 |
![]() |
СеÑгей · MinGW中预处理器g++的奇怪行为 7 年前 |