如何删除[]“知道”操作数组的大小?Foo* set = new Foo[100];// ...delete [] set;你不能把数组的边界传递给delete[]..但这些信息储存在哪里?标准化了吗?
3 回答
![?](http://img1.sycdn.imooc.com/545869510001a20b02200220-100-100.jpg)
三国纷争
TA贡献1804条经验 获得超7个赞
![?](http://img1.sycdn.imooc.com/533e4c3300019caf02000200-100-100.jpg)
郎朗坤
TA贡献1921条经验 获得超9个赞
int* i = new int[4];
sizeof(int)*5
int *temp = malloc(sizeof(int)*5)
sizeof(int)
*temp = 4;
i
i = temp + 1;
i
delete[] i;
int *temp = i - 1;int numbers_of_element = *temp; // = 4... call destructor for numbers_of_element elements... that are stored in temp + 1, temp + 2, ... temp + 4 if needed free (temp)
- 3 回答
- 0 关注
- 505 浏览
添加回答
举报
0/150
提交
取消