【发布时间】:2012-08-20 20:41:08
【问题描述】:
当我这样做时:
#define WEEKDAYS 7
还有那个:
const int WEEKDAYS = 7;
它们之间有什么区别吗?似乎两者都做同样的事情 - 为代码中的未来使用设置一个常量值。
【问题讨论】:
-
您已将其标记为 C 和 C++。不同语言的答案有些不同。
-
更容易说 NEVER 标记 C 和 C++ 的问题。
-
@JeffMercado 这会更容易,但这是错误的。 :) 最简单的例子是一个专门询问 C 和 C++ 之间差异之一的问题(我记得最近有一个问题问为什么
sizeof('a')在 C 中与sizeof(char)不同,但在 C++ 中却没有) -
@hvd:关于这两种语言之间的具体差异的问题是什么。我真正的意思是在一个不是专门寻找语言比较的问题上用两个标签进行标记。但无论如何,不管我们喜不喜欢,它仍然会发生。
-
同意。 FWIW,现在作为 C 问题的副本已关闭,但由于 ron 删除了 C 标记(谢谢),stackoverflow.com/questions/1637332/static-const-vs-define(链接在另一个问题中)可能在此处提及。
标签: c++ constants c-preprocessor