- スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
9 :デフォルトの名無しさん[sage]:2015/01/12(月) 04:40:49.46 ID:Pgt9wbS9 - メモリの動的確保について質問です
たとえばCではmallocで確保した変数をfreeで 解放しないといけないのは理解できます ですが二重解放をしてはいけないというのが理解できません 理解というよりはどういう仕組みになっているか気になります なぜ解放してあるかをチェックしないのでしょうか
|
- スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
12 :9[sage]:2015/01/12(月) 10:34:49.47 ID:Pgt9wbS9 - freeを2回以上した場合、内部的にどういう状態になるのか気になります
処理系によるとは思いますが、一般的な環境(Unix系、Windows等)ではどうなるのでしょうか
|
- スレを勃てるまでもないC/C++の質問はここで 23 [転載禁止]©2ch.net
17 :デフォルトの名無しさん[sage]:2015/01/12(月) 13:03:16.87 ID:Pgt9wbS9 - >>14
なるほど もしこのように実装されていたら(実際はもっと複雑なんでしょうけど) 一度目の解放後に双方向リストのリンクが変わっていたり、 確保していたアドレスに別の変数のメモリを確保していたら、 もう一度解放するとリンクが滅茶苦茶になる可能性がありますね >>13, >>15-16 そういう可能性もありますか… 自分でも調べてみます ありがとうございました
|