メモリが割り当てられた後にデフォルトのctorが何をするのか、割り当てられたメモリをどのように初期化するのか、誰かが説明できるのだろうか?
4443 次
3 に答える
6
デフォルトコンストラクターは、初期化されていない組み込み型のコンストラクターを除く、すべての非静的データメンバーのデフォルトコンストラクターを呼び出します。
[2003: 12.1/5]
:
クラスXのデフォルトのコンストラクターは、引数なしで呼び出すことができるクラスXのコンストラクターです。クラスXのユーザー宣言コンストラクターがない場合、デフォルトのコンストラクターが暗黙的に宣言されます。
[2003: 12.1/8]
:
デフォルトのコンストラクターは、初期化子(8.5)なしで定義された静的または自動ストレージ期間(3.7.1、3.7.2)のクラスオブジェクトを作成するために暗黙的に呼び出されます。
于 2011-07-21T09:39:48.317 に答える
5
どの言語で質問されたのかわかりませんが、とにかく C++ と Java について答えようと思います。
C++ では、次のようになります。
- 組み込み型 (
int
、float
、ポインターなど) を初期化されていない値のままにします - クラスメンバーのデフォルトコンストラクターを呼び出します
Java では、すべてのクラス メンバーがデフォルト値 (0 または NULL) に初期化されていると思います。
于 2011-07-21T09:13:08.890 に答える
1
これを見てください(CおよびC ++の実装で)。
はい、実装は言語によって異なります。
于 2011-07-21T09:25:52.733 に答える