delete[]字符数组
delete[] Array of characters
可能重复:
delete[]提供了一个修改后的新ed指针。未定义的行为?
假设我已经使用new char[number]
分配了一些字符。
是否可以只删除几个结束字符(类似于delete[] (charArray + 4);
,它将取消分配除前四个字符之外的所有字符(?
我读到一些实现的new[]
存储在对象数组之前分配的对象数,这样delete[]
就知道要取消分配多少对象,所以按照我的要求执行可能不安全。。。
谢谢。
编辑:
使用单独的delete
语句手动删除不需要的结束字节是一种安全的方式吗?
不,您必须使用与new[]
返回的指针完全相同的delete[]
。
不能删除数组的特定段。
如果您只是对C字符串进行操作,您可以将一个字符设置为