为什么有人会使用#define 来定义常量?

2022-01-23 00:00:00 constants c++ c-preprocessor

这是一个简单的问题,但为什么有人会使用#define 来定义常量?

It's simple question but why would someone use #define to define constants?

有什么区别

#define sum 1const int sum = 1;

推荐答案

#define 有许多不同的应用程序,但您的问题似乎是关于一个特定的应用程序:定义命名常量.

#define has many different applications, but your question seems to be about one specific application: defining named constants.

在 C++ 中,很少有理由使用 #define 来定义命名常量.

In C++ there's rarely a reason to use #define to define named constants.

#define 通常在 C 代码中广泛使用,因为 C 语言在定义常量时与 C++ 有很大不同.简而言之,const int 对象在 C 中不是 constants,这意味着在 C 中定义真正常量的主要方法是使用 #define.(另外,对于 int 常量,可以使用枚举).

#define is normally widely used in C code, since C language is significantly different from C++ when it comes to defining constants. In short, const int objects are not constants in C, which means that in C the primary way to define a true constant is to use #define. (Also, for int constants one can use enums).

相关文章