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

时间:2014-09-11 09:12:10

标签: c++

我在文件范围内有这个:

static char foo[256];

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

1 个答案:

答案 0 :(得分:13)

  

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

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

  

(即它是C ++标准)

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

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