#define MY_INT VS const int MY_INT

5

2
你把这个标记为C和C++。不同语言的答案有些不同。 - user743382
最好永远不要同时标记一个问题为C和C++,这样会更容易。 - Jeff Mercado
@JeffMercado,这样做可能更容易,但是不正确。 :) 最简单的例子是一个问题,专门询问C和C++之间的差异之一(我记得最近有一个问题问为什么在C中sizeof('a')sizeof(char)不同,而在C++中却相同)。 - user743382
@hvd:这是一个关于两种语言具体差异的问题。我真正想说的是,在一个问题上同时标记两个标签,而不是专门寻找这两种语言之间的比较。但无论怎样,这种情况仍然会发生,无论我们是否喜欢。 - Jeff Mercado
同意。顺便说一句,这个问题现在已经被关闭,因为它是C问题的重复,但是由于Ron已经删除了C标签(谢谢),https://dev59.com/DnI-5IYBdhLWcg3w3ck8(在其他问题中链接)可能会对这里有所帮助。 - user743382
2个回答

7
#define WEEKDAYS 7

void f() {
    int WEEKDAYS = 3; // error
}

const int WEEKDAYS_CONST = 7;

void g() {
    int WEEKDAYS_CONST = 3; // okay: local scope for WEEKDAYS_CONST
}

2
#define WEEKDAYS 7

将源文件中所有出现的单词WEEKDAYS替换为数字7。

const int WEEKDAYS = 7;

定义一个实际的常量,用数字7表示,在代码中可以访问。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接