#define MY_INT VS const int MY_INT

时间:2012-08-25 16:26:39

标签: c++ const c-preprocessor

  

可能重复:
  “static const” vs “#define” in c

当我这样做时:

#define WEEKDAYS 7

那:

const int WEEKDAYS = 7;

他们之间有什么区别?似乎两者都做同样的事情 - 为代码中的未来使用设置一个恒定值。

2 个答案:

答案 0 :(得分:6)

#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
}

答案 1 :(得分:2)

#define WEEKDAYS 7

使用数字7替换源文件中所有出现的单词WEEKDAYS

const int WEEKDAYS = 7;

定义您可以在代码中访问的由7表示的实际常量。