看板Programming
标 题Re: 请教c++的delete
发信站政大狂狷年少 (Wed Nov 1 07:23:17 2006)
转信站ptt!ctu-reader!ctu-peer!news.nctu!netnews.csie.nctu!news.cs.nthu!WHSHS
※ 引述《[email protected] (我要出清)》之铭言:
> 请教一下,我既然已经做了delete这一个动作,
> 为何我的*ptr仍然可以给值呢
> 谢谢!
本来就可以,
但要是你 delete 之後还有 new 东西,
那就有可能拿到同一块记忆体,
因为你的 memory allocator 已经认为 ptr 指到的那块空间早就被释放了,
於是就很有可能把它再拿去配给别人。
接着就有可能上演某块区域的 data 常莫名其妙遭到窜改的戏码,
然後就是非常艰辛的 debug 工作等着你去挑战了。
--
Name: Tseng, Ling-hua E-mail Address:
[email protected]
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"的狂狷不驯;属於年少的轻狂色彩 ◎