C++的动态内存分配

来源:互联网 发布:linux 网桥 arp_proxy 编辑:程序博客网 时间:2024/05/20 07:13

多了一个对象

为了提高程序的内存使用效率,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)重载赋值函数;



原创粉丝点击