Re: 請教c++的delete
※ 引述《quota@kkcity.com.tw (我要出清)》之銘言:
> 請教一下,我既然已經做了delete這一個動作,
> 為何我的*ptr仍然可以給值呢
> 謝謝!
本來就可以,
但要是你 delete 之後還有 new 東西,
那就有可能拿到同一塊記憶體,
因為你的 memory allocator 已經認為 ptr 指到的那塊空間早就被釋放了,
於是就很有可能把它再拿去配給別人。
接著就有可能上演某塊區域的 data 常莫名其妙遭到竄改的戲碼,
然後就是非常艱辛的 debug 工作等著你去挑戰了。
--
Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net
School: National Tsing Hua University Department: Computer Science
Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design
Researching: Undecided
Homepage: https://it.muds.net/~uranus
--
╔═══╗ ┼────────────────────────╮
║狂狷 ║ │* Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮
║ 年少║ ┼╮ < IP:140.119.164.252 > ╰─╮
╚╦═╦╝ ╰ * From:61-230-217-167.dynamic.hinet.net
─╨─╨─ KGBBS ─ ◎ 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩 ◎
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章