问个delete的初级问题

antiMight antiMight 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
	int *integers = new int[3];
integers[0] = 1;
integers[1] = 2;
integers[2] = 3;
int *a = &integers[0];
int *b = &integers[1];
int *c = &integers[2];
delete integers; //关键是这里
std::cout << integers[2]<<std::endl;

第一个问题,上面注释的那行,我delete[] integers 和 不加[]直接delete,结果是一样的,三个int都被delete了,如何解释?
第二个问题,还是那行,如果改成delete a, 结果和上面一样,而不是只delete了integers[0],如果我写delete b或者delete c, 就会报错,原因何在?
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
antiMight
C++ 语言 65,214 成员 250,514 内容