C++使用变量作为数组长度
来源:互联网 发布:迪克斯特拉算法 编辑:程序博客网 时间:2024/06/05 16:45
C++中一般是不能使用变量作为一个数组的长度的,必须使用常量。
这是因为数组作为C++的内置数据类型,其空间分配在栈内存中,这部分空间的大小在编译时就要确定,不能等到运行时再分配。常量的值在编译时就能得到,而变量的值在运行时才能确定。
但是仍然有办法使用变量作为数组的长度:绕过栈内存,将数组空间开辟在堆空间内:
int *d = new int[n];
这样这块内存就是自己开辟的了,可以使用变量初始化数组的长度,内存空间会在运行时动态分配。
注意:
- 使用完这个数组后要delete掉,防止内存泄漏。
- 如果可能的话,使用STL容器替代内置的数组类型,能得到更好的性能和撸代码体验。
阅读全文
0 0
- C++使用变量作为数组长度
- C++使用变量作为数组长度
- C 设置数组 长度变量 方法
- C语言返璞归真之修改const常量和使用变量定义数组长度
- 【原创】C语言中如何用长度变量定义数组
- C语言数组长度可以是一个变量吗?
- C语言 变量 长度
- c++ 数组作为成员变量
- C 不使用额外变量统计字符串长度(递归)
- C 数组最大长度
- C 零长度数组
- C获取数组长度
- C 语言数组长度
- C语言数组与指针作为传递参数的使用
- Checkbox作为数组使用
- C语言基本变量长度
- C语言长度为0的数组的使用
- 使用零长度数组
- spark streaming从指定offset处消费Kafka数据
- mysql0613
- Creating Macros
- httpd2
- android 6.0 及其以下,安装,卸载 ,monkey
- C++使用变量作为数组长度
- Eclipse中maven详解
- WebView性能、体验分析与优化
- Java Socket编程报错Connection reset by peer
- Javascript读取XML文件中的值
- AngularJS(二)
- 处理ie下change失效
- 用hibernate reverse engineering而无法选择java src folder时的解决方法
- 服务器下安装ubuntu16.04 出现grub 错误 及 如何配置固定ip