码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-06-23 13:17:09      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:address   定义   TE   cti   ssl   nbsp   IV   string   delete   

记住:

  • 如果你在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时要采用相同形式

标签:address   定义   TE   cti   ssl   nbsp   IV   string   delete   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!