码迷,mamicode.com
首页 > 其他好文 > 详细

const与define的区别

时间:2017-10-05 23:09:34      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:没有   根据   run   fine   堆栈分配   最大的   区别   引用   color   

const与#define最大的差别,Const在堆栈分配了空间,而#define只是把具体数值 直接传递到目标变量罢了。或者说,const的常量是一个Run-Time的概念,他在程 序中确确实实的存在可以被调用、传递。而#define常量则是一个Compile-Time概 念,它的生命周期止于编译期:在实际程序中他只是一个常数、一个命令中的参 数,没有实际的存在。 const常量存在于程序的数据段。 #define常量存在于程序的代码段。 我们要把这个问题分不同的编译器来看。 所以一般我们认为,Const常量是分配了内存空间的,而且只分配一次,在使用 Const常量时与使用变量的引用方式一样,如王san所讲『使用const常量还可以避 免目标码的多份复制。在程序中,仅有一个内存来存放常量』 但是根据编译器的不同,还略有不同。

const与define的区别

标签:没有   根据   run   fine   堆栈分配   最大的   区别   引用   color   

原文地址:http://www.cnblogs.com/zhangjiansheng/p/7630160.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!