C ++匿名命名空间:变量初始化为0?

时间:2012-09-26 20:17:55

标签: c++ static

这里有一个相关的未答复的问题:
c++ - Variables auto-initialized to 0 in unnamed namespace? - Stack Overflow

当我在C中有一个全局函数指针时,我可以将它声明为静态,并将其初始化为NULL并且仅对我的文件可用。在C ++中,我将很多东西转换为匿名命名空间,但我很好奇他们是否拥有相同的保证。如果我在匿名命名空间中有一个函数指针,它会被初始化为null吗?

谢谢

1 个答案:

答案 0 :(得分:9)

程序启动时,具有静态存储持续时间的所有变量均为零初始化。这些包括在命名空间范围内声明的所有变量(在全局命名空间或任何其他命名空间中,包括未命名的命名空间)。

相关问题