您的位置:首页 > 编程语言 > C语言/C++

C++的动态内存分配

2017-09-20 13:31 190 查看

多了一个对象

为了提高程序的内存使用效率,C++设计了使用new和delete命令动态分配/回收内存的机制。

也就是说,我们可以在创建自定义类的对象时,用new/delete进行内存管理。但会不会不小

心神不知鬼不觉地new了个对象成员,或者反复delete同一个成员呢? 还真会。

罪魁:理解C++构造函数的原理

这个漏洞的罪魁祸首就是C++类对象的“Default Copy Constructor”(默认复制构造函数)!
比如:
class DailyNuisance
{
  public:
  DailyNuisance();
  DailyNuisance( Dailynuisance& shit);
  ~DailyNuisance();
  private:
  
}
DailyNuisance::DailyNuisance()
{           };
DailyNuisance::DailyNuisance()


结论:安全使用new/delete有技巧

自定义类中使用new和delete进行内存管理必须留意的几个错误:
(1)默认复制构造函数;
(2)对象指针成员的“深度复制”;
(3)重载赋值函数;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 内存管理 new delete