• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:HeapReAllocについて)

HeapReAllocについて質問 VC++5.0 & SDKで作成

このQ&Aのポイント
  • HeapReAllocを使用してメモリを再割り当てし、HEAP_REALLOC_IN_PLACE_ONLYを指定していますが、必ず決まった回数で失敗してしまいます
  • リサイズに失敗した場合、新たに領域を確保しデータをコピーするのが普通なのか疑問です
  • メモリ移動せずに取れるだけの領域がなくて失敗しているのか、または間違った方法で実装しているのかがわかりません

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

>やはり下のようにリサイズに失敗したら新たに領域を確保し >それまでのデータをコピーするのが普通なのでしょうか? 移動可能にするのが普通だと思うのですが。 移動可能にできない理由は何でしょうか? 結局自分で再確保してコピーをするのであれば、移動可能にしておくのと同じだと思うのですが。

be-be
質問者

お礼

すみません 補足の欄に書いてしまいました 大きな勘違いをしていました HeapReAllocはメモリの移動が起こっても、データの内容は消えないのすね VBのReDimのイメージがあったもので、行動してしまいました どうもありがとうございました

be-be
質問者

補足

移動可能にできない理由はそれまでに、代入したデータの値を変えたくないからです。 >結局自分で再確保してコピーをするのであれば、移動可能にしておくのと同じだと思うのですが。 それは確かにそうですね。移動可能にしてコピーが普通ですか?

関連するQ&A