注册 登录
编程论坛 C++教室

c++中new运算符创建数组

大神仙下凡 发布于 2017-09-27 07:49, 2531 次点击
new创建的数组
int* p=new int[10];
这里的长度10是不是就确定了创建数组的所占内存大小,如果只让数组存储两个值那数组的占用内存是10个整形数据的内存和还是两个整形数据的内存和。
5 回复
#2
rjsp2017-09-27 08:23
“如果只让数组存储两个值”是什么意思?
int* p=new int[10]; 是分配至少 10*sizeof(int) 个字节的内存
#3
yangfrancis2017-09-27 15:42
申请了十个只用了两个仍然占十个的空间
#4
蓝天绿水2017-09-27 17:45
任然占十个整形数据的内存空间,数组是固定大小的
#5
大神仙下凡2017-09-28 10:42
回复 2楼 rjsp
有什么办法能让数组用多少分配多少空间吗
#6
rjsp2017-09-28 11:45
没办法(更主要的是没必要),你可以释放掉之前的内存,重新分配内存
vector deque 等等都可以做到

还是说说你想做什么吧
1