首页 > 编程语言 > 详细

effective c++ 条款16:成对使用new和delete时要采用相同形式

时间:2018-06-23 13:00:38      阅读:210      评论:0      收藏:0      [点我收藏+]

记住:

  • 如果你在new表达式中使用[ ],必须在相应的delete表达式中也是用[ ]。如果你在new时不使用[ ],一定不要在delete时使用[ ]。
string* stringPtr1 = new string;
string* stringPtr2 = new string[100];
...
delete stringPtr1;   //删除一个对象
delete[] stringPtr2; //删除一个由对象组成的数组

 
最好不要用数组形式做typedef,基本都可以使用vector之类的

typedef string AddressLines[4];

string* pal = new AddressLines; //注意,这里相当于 new string[4]
...
delete pal; //行为为定义
delete[] pal; //正确

 




effective c++ 条款16:成对使用new和delete时要采用相同形式

原文:https://www.cnblogs.com/pfsi/p/9216804.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!