問題タブ [double-free]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 関数が std::unique_ptr を返す場合、返された各値が新しいオブジェクトに対するものであると仮定するのは合理的ですか?
私は について学んでおりstd::unique_ptr
、それが何を表しているかを理解しようとしています。
を返す関数 (私の制御外) が与えられた場合、各呼び出しが新しいオブジェクトを指す (以前の呼び出しとは異なる) を返すunique_ptr
ことが暗示/よく理解されていますか?unique_ptr
例として、次のコードは終了時に double-free を生成します。その理由を正しく理解していることを願っていunique_ptr
ます。したがってunique_ptr
、同じメモリ/オブジェクトをカプセル化する 2 つの は、2 番目の破壊時に二重解放を引き起こします。したがって、関数の次の実装は、getUniquePtr()
一般的/暗黙的に不合理であると理解されますか?
c - ダブル無料になるのはなぜですか?
これが私のコードです。malloc された要素を malloc しようとしましたが、それらを解放する方法がわかりません。