Skip to content

Latest commit

 

History

History
9 lines (9 loc) · 771 Bytes

#define和const的区别有那些?.md

File metadata and controls

9 lines (9 loc) · 771 Bytes
  1. 作用域不同:
    • #define定义的常量是一个预处理宏,它在编译之前被替换,作用域为定义处到文件结束。
    • const定义的常量是一个真正的变量,其作用域根据定义的位置而定,可以是局部或全局作用域。
  2. 类型安全性:
    • #define不具有类型检查,在预处理阶段只是简单地进行文本替换,容易导致一些潜在的错误。
    • const定义的常量具有类型检查,编译器会对其进行类型检查,提供更好的类型安全性。
  3. 调试信息:
    • #define在预处理阶段进行文本替换,因此在调试时无法查看使用#define定义的常量的值。
    • const定义的常量是真正的变量,可以被调试器识别并显示其值。