subject_22703.htm
来自「一些关于vc的问答」· HTM 代码 · 共 30 行
HTM
30 行
<p>
序号:22703 发表者:痱子 发表日期:2002-11-27 19:12:17
<br>主题:怎么删除一个指针呀??
<br>内容:static char* nCmdShow[]={"djie","dll"};<BR><BR>我要在程序结束时候 删除这个静态指针。 应该怎么写呀??<BR>我使用 delete nCmdShow; // 有两个warning!<BR> use :delete[] nCmdShow; //有一个warning!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:Ancky 回复日期:2002-11-27 19:31:44
<br>内容:你根本就没有给它分配动态内存空间,不必要用delete(没有new,你何必用delete呢?)!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Norton AntiVirus 回复日期:2002-11-27 20:10:56
<br>内容:不需要删除!<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:sojan 回复日期:2002-11-28 12:10:05
<br>内容:变量的存储方式有4中:<BR> stack(栈), heap(堆), global(全局), local static(静态) <BR>stack是当函数结束的时候自动释放的。<BR>gloabl是当程序结束的时候自动释放的。<BR>local static也是当程序结束的时候自动释放的<BR>heap是在执行的时候,自己从heap中抓来的一块数据,程序是不知道的,所以程序结束了也不会被自动释放掉,于是就只有自己动手来把它释放掉。如果不释放的话,heap就会越来越少,这时就叫做内参泄露了。<BR>所以如题的这个指针根本就不是从heap中来的,也不是你做出来的,所以你根本就没有资格删掉它。<BR>你的目的可能是清除指针指向的内容吧,其实只需要strcpy( str, "" );<BR>就行了。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:zl 回复日期:2002-11-29 08:33:30
<br>内容:Gao !
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?