读书人

new一个数组 然后delete掉其中一个元

发布时间: 2012-05-04 12:36:09 作者: rapoo

new一个数组 ,然后delete掉其中一个元素,程序竟然崩溃?
rt,这是为什么呢?编译没错,运行到delete那一步直接崩溃。。。为啥呢?

[解决办法]
这不是必然的吗???

new 和delete必须配对使用.

[解决办法]
代码不贴出来,怎么帮你解决
[解决办法]
int * a = new int[10]; delete a[2] ;
楼主是用的这种么?
建议楼主去看一下new和delete的实现,或者看一下windows下堆的实现方式,这样才能更清晰的认识new 和delete究竟干了什么。
[解决办法]
越界?
[解决办法]
new和delete是配套使用的
你弄个delete q
那p怎么办啊
[解决办法]
把代码贴出来吧,delete释放的是一个指针,如果你使用delete如楼上所说,那么就会出现错误。
[解决办法]
用new [] 申请的,要用delete []释放,
用new 申请,用delete 释放
[解决办法]

探讨

给2楼和3楼:
int * p = new int[10];
int * q = p+5;
delete q;

[解决办法]
既然不了解new和del的细节,就老老实实的按着课本上的方法用。

想创新,必须要了解本质,呵呵呵
[解决办法]
看看effective c++
delete/new
delete []/new []
要配对使用
[解决办法]
你只能delete由new所产生的指针——不是改变过的,也不是由它计算出的。

否则,非常高效的C++会很简单直接的把你的内存破坏掉。不过不用担心,至少这些内存在物理上仍旧完好。
[解决办法]
探讨
你只能delete由new所产生的指针——不是改变过的,也不是由它计算出的。

否则,非常高效的C++会很简单直接的把你的内存破坏掉。不过不用担心,至少这些内存在物理上仍旧完好。

[解决办法]
探讨

引用:
你只能delete由new所产生的指针——不是改变过的,也不是由它计算出的。

否则,非常高效的C++会很简单直接的把你的内存破坏掉。不过不用担心,至少这些内存在物理上仍旧完好。

求助:用普通代码破坏物理内存的方法.

[解决办法]

new和delete
以及
new[]和delete[]

fopen和fclose
那样用!

读书人网 >C++

热点推荐