1.define在预处理阶段展开,const是在编译运行阶段使用
2.define没有类型检查,const在编译器有运行检查
3.define没有分配内存,const会分配存储空间
4.const可以节省空间,const常量在程序运行中只有一份拷贝(静态区), 而define有若干个拷贝
5.编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。
6.宏定义只做替换,程序运行时不分配内存
1.define在预处理阶段展开,const是在编译运行阶段使用
2.define没有类型检查,const在编译器有运行检查
3.define没有分配内存,const会分配存储空间
4.const可以节省空间,const常量在程序运行中只有一份拷贝(静态区), 而define有若干个拷贝
5.编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。
6.宏定义只做替换,程序运行时不分配内存
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。