c++ - 宏是用来定义常量的吗?

标签 c++ c macros c-preprocessor ansi

<分区>

Possible Duplicate:
"static const" vs "#define" in c

宏是已被赋予名称的代码片段。每当使用该名称时,它都会被宏的内容替换。 (不需要内存)

因此,人们将其用作定义常量的方法,而不是语法:const int num = 1;

这是个好习惯吗?除了 #include#define 之外,MACRO 是否设置为执行其他操作?

最佳答案

除了定义常量之外,宏还可以用于其他用途。如今,除非绝对没有其他可用选项,否则通常不赞成使用宏。

调试复杂的代码,其中散布着大量的宏会让您头疼不已。

来自 GCC docs :

A macro is a fragment of code which has been given a name. Whenever the name is used, it is replaced by the contents of the macro.

关于c++ - 宏是用来定义常量的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7290570/

相关文章:

c++ - IOCP,跨平台库?

c++ - 如何将各种类型的函数指针存储在一起?

c++ - Make/Cmake 子目录链接到外部库失败

c++ - 未知(损坏的内存)错误。 sprintf_s 输出.c

c,带有 2 个参数的宏问题

c++ - 重载分辨率

c++ - 将 std::vector 转换为 CComSafeArray 的任何快速方法

C++ 入门(第 5 版);第 19 章 - 算法:std::lower_bound

c - 想知道一些#define 技巧

macros - 加载宏引擎脚本时出错(文件 : LawyerProfileView. cshtml)