mshd.net
当前位置:首页 >> C++ 用变量赋值的Const为啥不能定义数组长度?初学... >>

C++ 用变量赋值的Const为啥不能定义数组长度?初学...

在编译的时候分配大小,i是在运行时确定的,所以编译器不知道分配多少空间给数组

并不是所有的常量都可以用来定义一个数组的初始大小,在C程序中,只有C语言的常量表达式才能用来定义一个数组的初始大校然而,在C++中,情况有所不同。 一个常量表达式的值在程序运行期间是不变的,并且是编译程序能计算出来的一个值。在定义数...

没有为什么,很简单。 编译期间给golf分配内存,就是说这个数组空间分配在栈区。 而const的常量,虽然是常量,也仅仅是在运行期间,你这个代码里会分配在全局内存,不管怎么说都是“运行期间”, 你编译期间,数组分配空间大小要由一个运行期间的...

const int n = 100; int array[n]; 这样就可以了

count只能在定义的时候初始化赋值。 const是一个编程语言的关键字,它限定一个变量不允许被改变,产生静态作用。使用const在一定程度上可以提高程序的安全性和可靠性。 例如: #include int main(){const int a=3;printf("%d",a); return 0;}/*运...

既然用户输入后会改变这个数组,那就不是const 既然长度会变,就不会是定义的数组,而是在堆动态申请的数组 string a cin>>a; const string b=a; 输入123 b[0]为'1',b[1]为'2',b[2]为'3' 或许可以满足你的需求

不是的,在对象生存期内是不可以改变的,过了生存期就是普通变量了。 在C++中,const成员变量也不能在类定义处初始化,只能通过构造函数初始化列表进行,并且必须有构造函数。 const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可...

有多种方式可以赋值。 (1)声明和初始化同时进行,例如: const char a[5]={'X','Y','Z','1','2'}; (2)把它看成字符串,用 strcpy 赋值,例如: strcpy(a,"abcde"); (3)用 memcpy 把另一个数组里的值传给它 memcpy(a,b,5); (关键注意 a[i]...

c++const定义的变量不可以改变。如果要改,需要强转,但是不建议,const引用就是为了不让你改变引用的值。 C++是在C语言的基础上开发的一种通用编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。最新正式标准C...

int *p1, const *a; 注意你这个写法非标准C++的东西,所以一般编译器会忽略const! 以后不要这样写代码,非但别人看不懂,还会造成潜在的危险!

网站首页 | 网站地图
All rights reserved Powered by www.mshd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com