const修饰的只读变量必须在定义的同时初始化,想想为什么?
答案:3 悬赏:0
解决时间 2021-01-25 13:44
- 提问者网友:临风不自傲
- 2021-01-24 15:28
const修饰的只读变量必须在定义的同时初始化,想想为什么?
最佳答案
- 二级知识专家网友:由着我着迷
- 2021-01-24 15:38
定义const 只读变量,具有不可变性。
例如:
const int Max=100;
int Array[Max]; //数组大小Max应该 是常量
这里请在Visual C++6.0 里分别创建.c 文件和.cpp 文件测试一下。会发现在.c 文件中,
编译器会提示出错,而在.cpp 文件中则顺利运行。定义一个数组必须指定其元素的个数。这也从侧面证实在C 语言中,const 修饰的Max 仍然是变量,只不过是只读属性罢了;而在C++里,扩展了const 的含义。
在定义的时候就把它的内存空间给限制死了,要是不初始化,那块区域永远就是那个样子了~~~~C语言标准规定的。。。如果不在声明的时候初始化而在其他地方修改,岂不违背了“只读”的意思
例如:
const int Max=100;
int Array[Max]; //数组大小Max应该 是常量
这里请在Visual C++6.0 里分别创建.c 文件和.cpp 文件测试一下。会发现在.c 文件中,
编译器会提示出错,而在.cpp 文件中则顺利运行。定义一个数组必须指定其元素的个数。这也从侧面证实在C 语言中,const 修饰的Max 仍然是变量,只不过是只读属性罢了;而在C++里,扩展了const 的含义。
在定义的时候就把它的内存空间给限制死了,要是不初始化,那块区域永远就是那个样子了~~~~C语言标准规定的。。。如果不在声明的时候初始化而在其他地方修改,岂不违背了“只读”的意思
全部回答
- 1楼网友:动情书生
- 2021-01-24 17:03
const限定符把一个对象转换成一个常量。
常量在定义后就不能被修改的,定义是必须初始法。
常量在定义后就不能被修改的,定义是必须初始法。
- 2楼网友:持酒劝斜阳
- 2021-01-24 16:56
在定义的时候就把它的内存空间给限制死了,要是不初始化,那块区域永远就是那个样子了~~~~C语言标准规定的。。。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯