想知道在 C++ 中,int[]
中未赋值整数的值通常是多少。
例子
int arr[5];
arr[1]=2;
arr[3]=4;
for(int i=0;i<5;i++)
{
cout <<arr[i] <<endl;
}
打印
-858993460
2
-858993460
4
-858993460
我们知道数组将是 {?,2,?,4,?}
,在哪里?未知。
“?”会是什么?通常是?
当我测试时,我总是得到负值。 我可以假设在 C++ 中整数数组中未分配的元素总是小于或等于零吗?
如果我错了请纠正我。当我学习 Java 时,数组中未分配的元素将产生 null。
最佳答案
形式上,在大多数情况下,尝试读取未初始化的值会导致未定义的行为。因此,从形式上讲,关于实际值的问题是没有实际意义的:您甚至不能直接查看该值。
实际上,C 和 C++ 中未初始化的值是不可预测的。最重要的是,它们不应该是稳定的,这意味着多次读取相同的未初始化值并不能保证读取相同的值。
如果你需要一个预初始化的本地数组,用显式初始化器声明它
int arr[5] = {};
上面保证用整数零填充数组。
关于c++ - int[ ] 中未分配的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17828567/