クラスAを持ち、型Aの配列を宣言すると、配列全体がデフォルトのコンストラクタでインスタンス化されたオブジェクトで満たされるような方法でC++が作成されるのはなぜですか?クラス?オブジェクトの配列の宣言:インスタンス化
0
A
答えて
2
特定のサイズの配列を作成すると、配列の各要素が作成されるとすぐに有効でなければならないためです。
異なる動作が必要な場合はvector
とpush_back
を使用できます。ベクトルは空に作成されます。新しい要素を追加したい場合、push_backは任意の方法で作成されたオブジェクトを取り出し、ベクトルにそのコピーを作成します。
+0
また、['vector :: reserve'](http://www.cplusplus.com/reference/stl/vector/reserve/)を使って、何も構築せずに容量を予約することができます。 –
+0
もちろん、空のベクトルを作成する必要はありません。必要に応じて、最初のサイズをコンストラクタに渡すことができます。 –
関連する問題
- 1. 配列宣言内でクラスをインスタンス化する
- 2. javascript/jquery動的オブジェクト配列の宣言
- 3. Visual C++でのCOMオブジェクトの宣言/定義とインスタンス化?
- 4. Javaのジェネリッククラスのオブジェクト配列のインスタンス化
- 5. クラス宣言とインスタンス宣言の型キーワード
- 6. Strcpy()配列宣言?
- 7. 配列サイズの宣言
- 8. 配列の型宣言
- 9. 配列宣言の問題
- 10. c#配列宣言構文vs C++配列宣言構文
- 11. MATLABのオブジェクトの宣言と初期化
- 12. ActionScript3:宣言されたオブジェクトの配列長を初期化する方法は?
- 13. インスタンス宣言
- 14. オブジェクトとメソッドの初期化と宣言
- 15. C++の配列の宣言と初期化
- 16. Isabelleのロケール宣言のインスタンス
- 17. 文字列宣言のクリスタル配列
- 18. cの文字列配列宣言
- 19. ポインタ宣言とCの有限配列宣言
- 20. 文字配列の宣言と初期化
- 21. 静的配列の宣言と初期化
- 22. PHPでオブジェクトの配列を宣言する
- 23. オブジェクトの配列を宣言しないでng-repeatを返す
- 24. 無限オブジェクトのjavascript配列を宣言する
- 25. Haskell:SDLバインディングのBizzareインスタンス宣言
- 26. Javaの配列の宣言の混乱
- 27. TypeScriptでの配列の宣言
- 28. Cの構造体宣言の配列
- 29. C#ユーザーのint配列の宣言
- 30. cでのサイズ配列の宣言
'std :: vector';を使用することをお勧めします); –
質問を回すにはどうすればいいですか?オブジェクトの配列を宣言してもインスタンス化されなかった場合は、手動でインスタンス化する方法はありますか?新しいプレースメントを使用する必要がありますか?恐ろしく間違っているように思えるでしょうか?オブジェクトを使用する前にオブジェクトをインスタンス化する必要がある場合、自動的にそれを実行することが私にとって最良の解決策のように思えます。上で推奨されているように、必要に応じて実行したい場合は、静的配列ではなくベクトルのようなコンテナを使用します。 –