当前位置:  开发笔记 > 编程语言 > 正文

Null终止int数组

如何解决《Null终止int数组》经验,为你挑选了1个好方法。

如果我想在C++中动态创建一个int数组,然后在以后删除它,我是否需要null终止int数组?如果是这样,我该怎么办?如果没有,计算机如何知道要释放多少内存?

int *array = new int[x];
..do some stuff..
delete array;

我知道对于一个char数组,它会删除一个空字符('\ 0'),如果你的字符串中没有终止空字符,你可能会得到内存冲突错误,但这是如何应用于整数数组的(和其他数组一样,结构数组)?



1> RichieHindle..:

数组使用的内存块中有一些额外的数据,这些数据对程序来说是不可见的,它可以delete说明块的大小.

你对char数组的看法是不正确的,顺便说一下- NUL终结符的存在与之无关delete- 它使用隐藏的块大小就像任何其他内存块一样.

(顺便说一句,你应该说delete [] array;当你删除数组时.)

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有