已初始化的已分配数组的值

Jak*_*ake 4 c++ arrays

如果我有:

int array[20];
Run Code Online (Sandbox Code Playgroud)

array[0]如果还没有在那里进行任何初始化,那么它的价值是多少?有没有办法检查它是否已初始化?

AnT*_*AnT 15

"......假设我......"你有它在哪里?

如果在命名空间作用域中有这样的东西,那么它是一个具有静态存储持续时间的对象,它始终为零初始化.

如果你在本地范围内有这样的东西,那么它是一个具有自动存储持续时间的对象,它根本没有初始化.价值array[0]是不可预测的.不,没有办法判断某些事情是否被故意初始化.

  • @Jake 让自己变得轻松,并且始终执行此“array[20] = {0};”。 (2认同)