在main()啓動後,是否有一種方法可以初始化類的靜態子對象?是否有一種懶惰初始化類的靜態子對象?
0
A
回答
2
的一種方式做到這一點是取代靜態成員數據,靜態成員函數。
說你這個類:
class A
{
static B static_b; //static member data
};
//.cpp
B A::static_b; //definition (required)
所以不是可以定義你的類爲:
class A
{
static B static_b() //static member function!
{
static B b;
return b;
}
};
注意,它不是線程安全的,但你可以把它也是線程安全的。
0
您可以使用指針此對象:
class SomeClass{
public:
static SomeOtherClass* p;
};
SomeOtherClass* SomeClass::p;
void main(){
SomeClass::p = new SomeOtherClass();
}
+0
但是這個分配必須手動銷燬。我想避免這一點。 – Belloc 2012-02-19 12:25:16
相關問題
- 1. 懶屬性初始化靜態類C#
- 2. 靜態對象初始化
- 3. 可以懶惰初始化/加載所有對象嗎?
- 4. 休眠懶惰初始化 - 未能懶惰地初始化集合
- 5. 子類的靜態類依賴對象初始化
- 6. 靜態本地POD常量是如何初始化的?懶惰或不?
- 7. 奇怪的懶惰初始化異常
- 8. 懶惰的初始化和deinit
- 9. 懶惰初始化具有volatile變量的Singleton類
- 10. 對象靜態成員的初始化
- 11. 初始化該類的靜態對象的初始化之前是否保證了類的靜態成員的初始化?
- 12. 如何檢查一個懶惰的val是否被初始化而沒有初始化呢?
- 13. 記憶與懶惰初始化/評估
- 14. Nhibernate-懶惰加載初始化失敗
- 15. Hibernate懶惰初始化例外與@Transactional
- 16. 懶惰初始化不起作用iPhone
- 17. 懶惰初始化,ORM和lambdas
- 18. 多線程懶惰初始化
- 19. JPA Hibernate JAXB懶惰初始化
- 20. 休眠懶惰加載和初始化
- 21. 懶惰實例化靜態類的成員會有好處嗎?
- 22. C#懶惰初始化&&比賽初始化?
- 23. Javascript對象 - '靜態初始化'
- 24. 將NSImage初始化爲靜態對象
- 25. 靜態對象初始化C++
- 26. 初始化靜態類對象沒有零參數構造C++
- 27. 是否可以在C++的類中初始化靜態常量成員對象?
- 28. 在多線程情況下懶惰地初始化靜態變量
- 29. XamlParseException初始化一個靜態類
- 30. 在ARC的類方法中初始化的靜態對象
你是什麼意思*靜態子對象*?你的意思是*靜態成員*? – Nawaz 2012-02-19 12:18:51
是一個靜態成員,它是嵌入類的對象 – Belloc 2012-02-19 12:20:54