1.#difnes是预处理器指令,他不会在内存中为常量分配存储空间;const是C++关键字
,由编译器处理,使用const定义的常量会在内存中分配存储内存空间。
2.#define在编译的预处理阶段起作用,而const是在编译、运行的时候起作用
3.#define只是简单的字符串替换,没有对类型的检查;const有对应的数据类型,需要进行判断,具有类型安全性
4.由于#define是在预编译起作用,所以不在调试信息显示,不能进行调试;而const可以进行调试
1.#difnes是预处理器指令,他不会在内存中为常量分配存储空间;const是C++关键字
,由编译器处理,使用const定义的常量会在内存中分配存储内存空间。
2.#define在编译的预处理阶段起作用,而const是在编译、运行的时候起作用
3.#define只是简单的字符串替换,没有对类型的检查;const有对应的数据类型,需要进行判断,具有类型安全性
4.由于#define是在预编译起作用,所以不在调试信息显示,不能进行调试;而const可以进行调试