有一个相关的悬而未决的问题在这里:
c++ - Variables auto-initialized to 0 in unnamed namespace? - Stack OverflowC++匿名命名空间:变量初始化为0?
当我在C全局函数指针我可以声明为静态和它的初始化为NULL,并且只适用于我的文件。在C++中,我将很多东西切换到匿名命名空间,但我很好奇它们是否拥有相同的保证。如果我有一个匿名命名空间中的函数指针,它会被初始化为null?在程序启动时
感谢
有一个相关的悬而未决的问题在这里:
c++ - Variables auto-initialized to 0 in unnamed namespace? - Stack OverflowC++匿名命名空间:变量初始化为0?
当我在C全局函数指针我可以声明为静态和它的初始化为NULL,并且只适用于我的文件。在C++中,我将很多东西切换到匿名命名空间,但我很好奇它们是否拥有相同的保证。如果我有一个匿名命名空间中的函数指针,它会被初始化为null?在程序启动时
感谢
只需将它自己初始化为NULL即可。这是最清晰的方式。 – nneonneo
否 - “名称空间”与它无关:静态存储始终初始化为0/NULL。是的,指定“static struct * myptr = NULL;”绝对是一个好习惯,只是为了明确你的意图。恕我直言... – paulsm4