有一個相關的懸而未決的問題在這裏:
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