string *stringPtr1 = new string;
string *stringPtr2 = new string[100];
……
delete stringPtr1;
delete [] stringPtr2;
如果你对着stringPtr1使用“[]”形式,其结果未定义。如果你对着stringPtr2没有使用“[]”形式,其结果亦未定义。犹有进者,这对内建型别如int者亦未定义,即使这类型别并没有destructors。
因此,游戏规则很简单,如果你在调用new时使用了[],则你在调用delete时也使用[],如果你在调用new的时候没有[],那么你也不应该在调用时使用[]。
相关文章
- CSS使用flex布局和order属性对html元素排序
- 理解React Native的Props和State
- SpringBoot中配置文件详解(yml、properties全局配置和自定义配置),获取配置方式
- 分享一个免*的GPT,刷题和学习的好帮手
- springboot前端ajax 04 关于后台传的时间和状态在前端的转换
- Unity日记20(存档读档PlayerPrefs和PlayerPrefs拓展)
- 深入理解PyTorch中的train()、eval()和no_grad()
- 同步和异步的区别
- 考研数二第十讲 求导平面曲线的切线和法线以及曲率圆与曲率半径和弧微分
- 使用 React 和 GPT-4 技术构建智能语言翻译应用