9
Q
靜態析構函數
A
回答
13
是。第一次foo()
被調用時,Bar bar
將建成。然後它將可用,直到main()
完成,此後它將被破壞。
它本質上是:
static Bar *bar = 0;
if (!bar)
{
bar = new Bar;
// not "real", of course
void delete_bar(void) { delete bar; }
atexit(delete_bar);
}
注意我說 「基本上」;這可能不是實際發生的事情(儘管我不認爲它太遙遠)。
3.7.1靜態存儲持續時間
1中的所有對象既不具有動態存儲持續時間也不是本地具有靜態存儲持續時間。這些對象的存儲應該在程序的持續時間內持續(3.6.2,3.6.3)。
相關問題
- 1. 靜態變量的析構函數庫的析構函數
- 2. 早期調用靜態析構函數
- 3. Java - 靜態構造函數
- 4. 構造函數和靜態函數
- 5. Objective C靜態構造函數與動態構造函數
- 6. 是否有一個靜態構造函數/析構函數幫助主題
- 7. 靜態函數靜態函數
- 8. 是POD靜態的默認析構函數嗎?
- 9. 爲什麼靜態類不能有析構函數?
- 10. 在msvc11靜態類析構函數中使用std :: system_category()
- 11. visual studio無法解析靜態函數
- 12. 公共構造函數和靜態構造函數
- 13. C#實例構造函數與靜態構造函數
- 14. 如果後代類沒有非靜態成員或析構函數,我是否需要虛擬析構函數?
- 15. 靜態類構造函數和靜態類字段的範圍
- 16. 如何將靜態結構用於靜態函數? (像全球)
- 17. 靜態構造函數有用
- 18. 靜態構造函數的創建[Mono.Cecil]
- 19. 來自靜態構造函數的Database.SetInitializer
- 20. Dlang靜態模板結構/類函數
- 21. 靜態導入和構造函數
- 22. 靜態構造函數和繼承
- 23. 跟蹤靜態構造函數執行
- 24. 靜態塊內的構造函數
- 25. 模仿C++靜態構造函數
- 26. C++靜態庫和構造函數
- 27. 靜態類C#構造函數OOP
- 28. 靜態構造函數之前反射
- 29. 總是調用靜態構造函數
- 30. 靜態構造函數,並用它