读书人

delete[]可以指定要delete的数量吗?该

发布时间: 2012-04-05 12:42:40 作者: rapoo

delete[]可以指定要delete的数量吗?
比如int* a = new int[100];
我现在只想释放前50个元素,可以这样吗?
delete [49] a;

[解决办法]
当然不可以这么用,你申请的不是数组,是和int型的指针,不能用delete指针数组的形式删除。
[解决办法]
每一块动态分配的空间都只能完整的被释放,不可以只释放其中一部分的。
[解决办法]

探讨

那那个智能指针是怎么做到的,auto_ptr
如果直接 new int[100]
把a放进auto_ptr1,把a+50放进auto_ptr2,它是怎么控制,用完哪个自动释放的?

[解决办法]
貌似编译不过

读书人网 >C++

热点推荐