定义常量谁更好?#define还是const

两者区别

1. define只是用来进行单纯的文本替换,define常量的声明周期止于编译期,不分配内存空间,它存在于程序的代码段,在实际程序中它只是一个常数,一个命令中的参数并没有实际的存在;而const常量存在于长须的数据段,并在堆栈中分配了空间,const常量在程序中确实存在,且可以被调用、传递

2. const常量有数据类型,而define常量没有数据类型,编译器可以对const常量进行类型安全检查,但是define不行

3.很多IDE支持调试const定义的常量,而不支持define定义的常量


综上

由于const修饰的变量可以排除程序之间的不安全性因素,保护程序中的常量不被修改,而且对数据类型也会进行相应的检查,极大地提高了程序的健壮性,所以一般更加倾向于用const定义常量类型

猜你喜欢

转载自blog.csdn.net/summer00072/article/details/80919003