| 网站首页 | 业界新闻 | 群组 | 人才 | 技术文章 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 218 人关注过本帖
标题:c++中new运算符创建数组
只看楼主 收藏
大神仙下凡
Rank: 2
等 级:论坛游民
帖 子:12
专家分:10
注 册:2017-9-21
结帖率:66.67%
  已结贴   问题点数:10  回复次数:5   
c++中new运算符创建数组
new创建的数组
int* p=new int[10];
这里的长度10是不是就确定了创建数组的所占内存大小,如果只让数组存储两个值那数组的占用内存是10个整形数据的内存和还是两个整形数据的内存和。
2017-09-27 07:49
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:211
帖 子:5066
专家分:27846
注 册:2011-1-18
  得分:4 
“如果只让数组存储两个值”是什么意思?
int* p=new int[10]; 是分配至少 10*sizeof(int) 个字节的内存
2017-09-27 08:23
yangfrancis
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:112
帖 子:1364
专家分:6857
注 册:2014-5-19
  得分:4 
申请了十个只用了两个仍然占十个的空间
2017-09-27 15:42
蓝天绿水
Rank: 2
等 级:论坛游民
帖 子:10
专家分:22
注 册:2017-9-16
  得分:4 
任然占十个整形数据的内存空间,数组是固定大小的
2017-09-27 17:45
大神仙下凡
Rank: 2
等 级:论坛游民
帖 子:12
专家分:10
注 册:2017-9-21
  得分:0 
回复 2楼 rjsp
有什么办法能让数组用多少分配多少空间吗
2017-09-28 10:42
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:211
帖 子:5066
专家分:27846
注 册:2011-1-18
  得分:0 
没办法(更主要的是没必要),你可以释放掉之前的内存,重新分配内存
vector deque 等等都可以做到

还是说说你想做什么吧
2017-09-28 11:45







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.078747 second(s), 8 queries.
Copyright©2004-2017, BCCN.NET, All Rights Reserved