64,646
社区成员
发帖
与我相关
我的任务
分享
const常量对象,编译时会分情况来。
(1) 没有对常量对象取地址的操作,那么编译器仅直接做替换的工作。
例如:const int i = 5;
sum = i;
编译器在编译的时候就直接将i替换成了5。
(2) 如果有对常量对象取地址的操作,那么会为该常量对象分配一块内存单元。
例如:const int i = 6;
int *p = &i;
编译器会为i分配一块内存块,初始化为6.