您的位置:首页 > 编程语言 > C语言/C++

C++使用变量作为数组长度

2017-06-13 15:17 1331 查看
C++中一般是不能使用变量作为一个数组的长度的,必须使用常量。

这是因为数组作为C++的内置数据类型,其空间分配在栈内存中,这部分空间的大小在编译时就要确定,不能等到运行时再分配。常量的值在编译时就能得到,而变量的值在运行时才能确定。

但是仍然有办法使用变量作为数组的长度:绕过栈内存,将数组空间开辟在堆空间内

int *d = new int
;


这样这块内存就是自己开辟的了,可以使用变量初始化数组的长度,内存空间会在运行时动态分配。

注意:

使用完这个数组后要delete掉,防止内存泄漏。

如果可能的话,使用STL容器替代内置的数组类型,能得到更好的性能和撸代码体验。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: