-4

通过 K&R 的 C 编程语言遇到符号常量后,我看不到它们的用法/重要性。我宁愿使用一个“真正的”常量,比如一个整数,而不是使用一个#define语句。我明白你为什么要使用说...

#define PI 3.14

#define而不是仅仅在你的程序中输入“3.14”,但是如果我可以使用的话,你为什么要使用语句...

static const double PI = 3.14;

是今天使用的符号常量还是只是“过去”更有用的语言的一个特征?

你建议我应该使用什么常量?

4

1 回答 1

1

#define是旧的,只是由预处理器处理的文本替换。例如,当您这样做时#define PI 3.14,预处理器只需将所有出现的 替换PI为数字文字 3.14

const更新,并且依赖于编译器。它可以在编译时或运行时进行评估。它还提供范围。

我个人使用#define它是因为它保证在编译时被评估,并且它还有其他灵活的用途。

于 2013-10-15T15:51:12.820 回答