宏是代号的片段,它已被赋予名称。每当使用该名称时,它将被宏的内容替换。 (无需内存)
因此,人们将其用作定义常量的方法而不是语法:const int num = 1;
#include
和#define
做另外的事情?
答案 0 :(得分:2)
除了定义常量之外,还可以使用宏。如今,宏观用法通常不受欢迎,除非绝对没有其他选择。
使用遍布宏的宏来调试复杂代码会让您不止一次头疼。
来自GCC docs:
宏是代号的片段,它已被赋予名称。每当 使用该名称,它将被宏的内容替换。
答案 1 :(得分:2)
出于若干原因,通常优选Consts。例如,它们是一种语言结构(不是预处理器处理的外部值)。此外,它们包含类型信息,因此它们可以帮助编译器检测编译错误等。在大多数情况下,您可以说它们是等效的,但const
“在语义上更正确”。