2012-04-21 14 views
-1

in C++ヒープを介してオブジェクトを作成した場合、実行時に作成されることを意味します。 新しいキーワードを使用していないオブジェクトを作成した場合、コンパイル時に作成されます。オブジェクトを割り当てるC++?

ヒープという単語が実行時を意味するといいですか?

2質問

Javaで

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

+1

実際はありません。コンパイル時にオブジェクトが実行されていないため(または存在していても)、アプリケーションを作成することはできません。最後の/ポインタだけをオブジェクトに上書きすると、オブジェクトは破棄されずにリークされます。 –

答えて

1

ローカルオブジェクトは、実行時にスタック上に作成され、誰かが

静的オブジェクトは、プログラムの起動時に作成され、それらの上に削除を呼び出すまで、新規に作成された新しい

の使用を伴わないオブジェクトが破壊されていません。

+0

静的メモリ割り当てとは何ですか?それはコンパイル時間ですか?コンパイル時にオブジェクトを作成することはできませんか? – user1293258

+0

「コンパイル」という単語は、プログラムを機械語_に翻訳することを意味します。メモリの割り当てやオブジェクトの作成とは関係ありません。これは、テキストブックをとり、その内容を外国語に翻訳するのと同じように機能します。 –

関連する問題