私はC++でリンクリスト用のプログラムを作っていました。このコンセプトを実装するために、リストの最初の要素を指し示すポインタ 'start'をグローバルに作成しました。以前に動的に割り当てられたが、別のポインタで割り当てられたメモリを削除できますか?
プログラムの終了後、私はメモリリークを防ぐために、割り当てられたすべてのメモリを削除しようとしました。 ここでは、同じ正しいアドレスを指すポインタを使用しましたが、このポインタはメモリ割り当てに使用されたポインタではありませんでしたが、通常のポインタのようにローカルに宣言されています。
私の質問です - 同じ場所を指す通常のポインタを使用して動的に割り当てられたメモリを削除することは可能ですか?ポインタはあなたがnew
から戻ったものと同じ型と値 を持っているよう
[別のポインタから割り当てられたポインタを削除して、別のポインタをもう一度削除する必要がありますか?](https://stackoverflow.com/questions/13259305/delete-pointer-that-is-assigned-from- another-pointer-should-i-delete-the-other) –
アドレスを指していると考えてはいけません。アドレスであると考えてください(そして、そのアドレスのオブジェクトを指しています)。あなたが35 Main Streetで家を壊すつもりなら、住所がどのように伝えられたかは関係ありません。それはまだ同じ家です。 – molbdnilo
@molbdnilo:あなたも37を上げてもらえますか?そして、日の出は数字36から見ることができます。 – Bathsheba