02
2020
04

const和define的区别?

1.define在预处理阶段展开,const是在编译运行阶段使用 

2.define没有类型检查,const在编译器有运行检查 

3.define没有分配内存,const会分配存储空间 

4.const可以节省空间,const常量在程序运行中只有一份拷贝(静态区), 而define有若干个拷贝 

5.编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。 

6.宏定义只做替换,程序运行时不分配内存

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。