是否初始化了一个静态char []缓冲区

P45*_*ent 5 c++

我在文件范围内有这个:

static char foo[256];

是否在所有平台和构建配置上将内存初始化为零?(即它是标准C++).

Mik*_*our 13

是否在所有平台和构建配置上将内存初始化为零?

是的,所有非局部变量都是零初始化的.

(即它是C++标准)

是.C++ 11 3.6.2指定了如何初始化非局部变量.特别是:

  1. 具有静态存储持续时间或线程存储持续时间的变量应在任何其他初始化发生之前进行零初始化.