我正在製作一個VC++ 2008的windows項目,並且我希望有一個實例化的對象存在於全局所有激烈的目的中。這個對象應該是一個計時器,用於監視程序運行了多長時間,並且需要被其他對象訪問以便生成日誌文件。我知道我可以將native和sudo-native(string)成員標記爲extern以使它們可訪問,但是如何讓對象全局存在於其他對象中。 是否將對象定義放在需要知道其存在的對象的類之前(確保首先加載類),還是必須在我的main中放置一個允許訪問該對象的方法?全局自創對象
Q
全局自創對象
1
A
回答
1
你描述的內容通常是使用單例完成的。
下面是關於如何寫一個例子:Singleton: How should it be used
這裏的另一個問題: Can any one provide me a sample of Singleton in c++?
+0
這幾乎是做到這一點的方法。 – Arafangion 2012-02-06 06:59:54
2
只需創建你所需要的方法的類,然後聲明一個實例全局類 在你想要使用它的所有模塊中包含該類的頭文件,並且還有一個extern聲明,告訴模塊該定義在別處。也許你 有一些共同的標題,都包括在內。
extern MyClass yourInstance;
全局定義應該是一個主要的()是
MyClass yourInstance;
或者如果你喜歡使用指針它分配在堆中,然後在主 開始分配,並在結束刪除只要將指針設爲全局即可。
表示,通常不是全局聲明,而應該在main()中聲明 MyClass,然後將指針傳遞給您使用的所有函數/類。這就是我將如何做到這一點。然後,您不需要extern語句,只需包含標題MyClass.h
全局實例的一個問題是,您幾乎沒有或無法控制它們何時創建/銷燬 。
相關問題
- 1. 創建Rails中全局對象自動
- 2. 創建全局API對象
- 3. 創建全局對象?
- 4. 自注冊全局對象
- 5. 在Sinatra中全局創建對象
- 6. 創建新的jQuery全局對象
- 7. 在AngularJS中創建全局對象
- 8. 創建全局列表對象Java
- 9. 全局創建對象實例
- 10. 如何創建全局參數對象
- 11. 跨類創建全局對象
- 12. Rails - 如何創建全局對象
- 13. Java:創建全局圖形對象
- 14. 使創建的對象全局[C++]
- 15. 在PHP中創建全局對象
- 16. JavaScript全局對象?
- 17. Java「全局」對象
- 18. C#全局對象
- 19. 「超全局對象」
- 20. C++全局對象
- 21. 全局對象iphone
- 22. JavaScript全局對象和全局範圍
- 23. 全局「類對象」或全局「服務器對象」
- 24. 全局對象和頭部全局對象有什麼區別?
- 25. 創建一個全局對象或多個本地對象
- 26. JavaScript全局對象vs窗口對象
- 27. Python全局對象變量
- 28. 對象的全局實例
- 29. 全局配置對象
- 30. 靜態全局對象
'sudo'只存在於類Unix環境中。在Windows上,您需要查看*用戶帳戶控制*(UAC),但您應該非常小心。不過,我懷疑你需要一個簡單的計時器。 – 2012-02-06 07:28:30