-1

C ++では、ヒープを介してオブジェクトを作成した場合、それは実行時に作成されることを意味します。newキーワードを使用せずにオブジェクトを作成した場合、コンパイル時に作成されます。

ヒープという言葉がランタイムを意味するのを聞いても大丈夫ですか?

2番目の質問

Javaでは、オブジェクトへの参照が別のオブジェクトを参照している場合、最初に参照するオブジェクトは、誰も参照しないため、ガベージコレクターによって自動的に破棄されます。ヒープに沿ってオブジェクトを作成し、そのオブジェクトへのポインタを作成してから、そのオブジェクトにポインタを割り当てる場合と同じように、C++でも同じことが起こります。そのポインタが別のオブジェクトを指している場合、ヒープ内のオブジェクトはどうなりますか?このオブジェクトはデストラクタを自動的に実行することによって破棄されますか?

4

1 に答える 1

1

ローカル オブジェクトは実行時にスタック上に作成され、new の使用を伴いません。

new で作成されたオブジェクトは、誰かが delete を呼び出すまで破棄されません

静的オブジェクトは、プログラムの起動時に作成されます。

于 2012-04-21T21:12:31.923 に答える