好问题
Good  Question
  • 首 页
  • 问题
    • PHP
    • JAVA
    • CPlusPlus
    • C#
    • SQL
  • 关 于
  • 联 系
请问C++的静态数组和动态数组有什么区别? 关闭 返回上一级  

请问C++的静态数组和动态数组有什么区别?
+ 查看更多

发布日期:2018-02-26 10:21
分类:CPlusPlus
浏览次数:246
我必须在我的类里实现一个功能,但是编译器说没有使用静态数组,只有动态数组。我看了书,上网查了资料,但是不是很明白。
我认为静态是在编译期创建的,而动态是在运行期。但是我可能在内存分配方面犯了错误。能解释一下C++静态数组和动态数组的区别吗?

回答

静态数组 在栈上创建,并且拥有自动存储器,你不需要管理内存,但是函数结束时它们会被销毁。必须有一个固定的大小,例如:
int foo[10];
动态数组 使用操作符 new[]创建的数组拥有动态内存,并且存储在堆上(技术上来说是自由存储)。可以拥有任意的大小,但是需要内存分配和释放,因为他们不是栈的一部分。
int* foo = new int[10];
delete[] foo;
上一篇使用C或者C++时,我怎样才能在目录中获得文件列表?
C++如何从cin(标准输入)读取EOF出现之前的数据?下一篇
下一篇C++如何从cin(标准输入)读取EOF出现之前的数据?

最新文章

  • 函数`__construct`用来干嘛的
    发布日期:2018-03-26
  • 通过访客的IP得到他们的地区
    发布日期:2018-03-26
  • 合并两个PHP对象的最好的方法是什么?
    发布日期:2018-03-26
  • 该如何把一该如何把一个对象转化成数组?
    发布日期:2018-03-26
  • 什么是输出缓冲区?
    发布日期:2018-03-26
  • 在PHP中怎么把用逗号分隔的字符串分隔在一个数组里?
    发布日期:2018-03-26
  • 在PHP中使用foreach循环时查找数组的最后一个元素
    发布日期:2018-03-26
关于好问
收集整理一些有用的问题和回答,造福中国的程序旺和IT喵们!
友情链接
起飞页 
相关信息
版权声明
Copyright © 2016 - 2022  苏州卡达网络科技有限公司 备案号:苏ICP备09008221号