平成30年春期午後1問1 設問2

suomiさん  
(No.1)
P2. 「DeleteNoteメンバ関数が呼び出された直後にRegisterNameメンバ関数が呼び出される」とありますが、
具体的にはどのタイミングで呼び出されているのでしょうか。

図3を見ると、m_noteのメモリ領域が開放される前に、char[8]用メモリ領域が確保されているので、
delete m_note; が実行される前にRegisterNameが呼び出されていると考えてもよいのでしょうか。

また、下線部②でRegisterNameを呼び出す際には、m_noteとm_note->name共に真であると考えたのですが、
この段階でもm_noteはメモリ解放されないのでしょうか。(delete m_note;の実行)

最後に、解放済みメモリ領域にchar[8]用メモリ領域を用意するのは簡単にできることなのでしょうか。

C++やメモリについて分かっていないことが多く、的はずれな質問かもしれませんが、ご教授いただけますと幸いです。
2024.08.21 14:22
みなとさん 
(No.2)
ダングリング・ポインタなるものが存在するのですね。
もう少し自分で調べてから掲示板を建てるべきでした。
2024.08.21 14:57

返信投稿用フォーム

※SQL文は全角文字で記載してください。
※宣伝や迷惑行為を防止するため当サイトとIPAサイト以外のURLを含む記事の投稿は禁止されています。

投稿記事削除用フォーム

投稿番号:
パスワード:

その他のスレッド


Pagetop