2016-10-25 12 views
0

擬似コードパラメータが使用されていなくても、オブジェクトの作成時にメモリ空間がロックされますか?

Class Organ 


Class Animal 
    member pointer Organ; 

のは、私がnullの臓器へのポインタ別名私のオブジェクトにデフォルトコンストラクタを呼び出しましょう。

NULLを指していても、私のAnimalオブジェクトの合計メモリサイズでポインタのメモリサイズが使用されますか?右?

しかし、オブジェクトを割り当てたら、私の合計メモリ使用量はAnimal(ptrを含む)+ sizeof(Organ)になりますか?

+1

ご覧ください:http://stackoverflow.com/help/how-to-askこの場合、実際のコードを書くことは自明であり、それを無意味にすることは無意味です。 – OlivierLi

+0

C++クラスのインスタンスを格納するために必要なメモリは、コンパイル時に固定されています。コンパイラはそれを実行し、オブジェクトの使い方に関係なく修正されています。 'sizeof'キーワードを使って、与えられた型のどれくらい大きなオブジェクトがあるかを調べることができます。 – Baldrick

+1

単にオブジェクトを指すポインタを割り当てるだけで、アプリケーションのメモリ使用量が変更されることはありません。追加のメモリ空間を割り当てる新しい演算子への呼び出しです。 –

答えて

1

NULLを指していても、私のAnimalオブジェクトの合計メモリサイズでポインタのメモリサイズが使用されますか?右?

右。

私はオブジェクトを割り当てた後、私の合計メモリ使用量はAnimal(ptrを含む)+ sizeof(Organ)になりますか?

右、プラスヒープ割り当て(malloc()またはnew)を行う場合には通常存在しているいくつかの追加のオーバーヘッド。

+0

ありがとう – Fawar

関連する問題