const 内存分配情况

const 内存分配的情况

const 内存分配的情况简要的归纳了一下const常量的内存分配问题:c++的编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高,同时,这也是它取代预定义语句的重要基础。符号表的作用是登记源程序中出现的各种名字及其信息,以及编译各阶段的进展状况。  
实现技术:线性表,对折查找与二叉树,杂凑技术; 分配内存的情况:

extern const int bufsz;    //外部声明

const int bufsz=100;
long address =(long) &bufsz; //取const变量的地址

const int [] i={1,2,3}; //用于集合

class x{
      const int i; //类const,跟c中的const常量特性一样
public:

}

不分配内存的情况:
const int i=100; //全局常量 这是c++编程思想第二版第177页中的一段话:

“const可以用于集合,但必须保证编译器不会复杂到把一个集合保存到它的符号表中,所以必须分配内存。在这种情况下,const意味着“不能改变的一块存储空间”。然而,不能在编译期间使用它的值,因为编译器在编译期间不需要知道存储的内容。”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值