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
関連する問題
- 1. 遅延静的クラスメンバ初期
- 2. Javaで静的クラスを再初期化する方法はありますか?
- 3. Pythonに静的コンストラクタまたは静的初期化子がありますか?
- 4. 静的なクラス変数を初期化する必要はありますか?
- 5. 再帰的内部静的クラスを初期化する方法はありますか?どのような深さノードが初期化されますし、
- 6. C++で初期(静的)バインディングと遅延(動的)バインディングとは何ですか?
- 7. 春の静的初期化Springの静的初期化
- 8. 静的初期化、
- 9. 静的初期化
- 10. 初期化静的内部クラス
- 11. Java外部クラス静的初期化
- 12. Thymeleafで静的にマップを初期化する方法は?
- 13. java:クラス初期化中に同じクラスの静的フィールドの初期化
- 14. 遅延初期化と初期化
- 15. python3で静的変数を初期化する方法は?
- 16. マルチスレッドコンテキストで静的変数を初期化する方法は?
- 17. 静的配列を初期化する方法は?
- 18. Ada 2012マップを静的に初期化する方法
- 19. 静的メソッドで静的フィールドの複数の初期化を防ぐ方法は?
- 20. (Power)Mockitoでクラスの初期化でプライベート静的メソッドの静的呼び出しをモックする方法はありますか?
- 21. RAII +遅延初期化を実装する方法は?
- 22. CDI Beanを遅延初期化する方法は?
- 23. 遅延テーブルの初期化
- 24. 初期化関数で静的クラスメンバーを初期化する
- 25. クラスの初期化を待つ方法はありますか?
- 26. コピーコンストラクタなしでクラスの静的インスタンスを初期化する方法>
- 27. テンプレート関数でクラス内の静的メンバ変数を初期化する方法
- 28. Java静的初期化ブロック
- 29. 派生クラスの静的メンバー値からのPython静的メンバー初期化
- 30. コンストラクタargsに基づいて静的メンバーを初期化する方法はありますか?
静的サブオブジェクト*とはどういう意味ですか? *静的メンバー*を意味しますか? – Nawaz
はい埋め込みクラスのオブジェクトである静的メンバー – Belloc