美文网首页简友广场想法C++学习笔记
第十二章 类和动态内存分配(3)在构造函数使用new时应注意的事

第十二章 类和动态内存分配(3)在构造函数使用new时应注意的事

作者: 阿厉a_li | 来源:发表于2020-01-13 13:22 被阅读0次

(三)在构造函数使用new时应注意的事项

(1)如果在构造函数中使用new来初始化指针成员,则应在析构函数中使用delete来释放内存。

(2)new和delete必须兼容,new和delete对应new name[]和delete []name相对应

(3)如果有多个构造函数,应该以相同的方法使用new,要么带[],要么不带(因为只有一个析构函数)。另外,delete,无论带不带[]都可以用于空指针。空指针表示法,传统的是NULL或0(NULL是0的符号表示),现在可以使用nullptr,这是一种个更好的选择。

(4)应该定义一个复制构造函数,通过深度复制将一个对象初始化为另一个对象。

(5)应当定义一个赋值运算符(运算符重载),通过深度复制将一个对象赋值给另一个对象。具体需要完成的工作是:检查自我赋值的情况;释放成员指针以前指向的内存复制数据而不仅仅是数据的地址;返回一个指向调用对象的引用。

相关文章

  • 第十二章 类和动态内存分配(3)在构造函数使用new时应注意的事

    (三)在构造函数使用new时应注意的事项 (1)如果在构造函数中使用new来初始化指针成员,则应在析构函数中使用d...

  • 第十二章 类和动态内存分配(1)动态内存和类

    本章将介绍如何对类使用new和delete以及如何处理由于使用动态内存而引起的一些微妙的问题。也就是构造函数使用n...

  • C#继承与构造函数的调用

    1、实例化父类时,可以使用new子类,执行构造函数顺序为:先执行父类构造函数,再执行子类构造函数。 2、实例化子类...

  • C++学习笔记三

    类和动态内存分配 1. 动态内存和类 静态成员 注意: 静态数据成员在类中声明,在类外初始化, 但如果静态成员是c...

  • C++———动态内存分配

    动态内存分配用于提高内存的利用率,在c语言中使用malloc内置函数动态分配内存,而在c++中使用new运算符进行...

  • 13/8:继承和动态内存分配之派生类使用new

    1.调用复制构造函数和重载赋值运算符 2.当一个类(比如派生类)中使用new时,就需要重写析构函数、复制构造函数、...

  • C#-构造函数

    创建一个类的时候,使用new运算符对类进行实例化。在为新对象分配内存之后,new运算符立即调用构造函数。 不带参数...

  • ES5构造函数与ES6类

    ES5 es5并没有类class,我们只能用构造函数来模拟类. 构造函数 构造函数用new操作符一起使用.new具...

  • freecodecamp的笔记

    JavaScript对象及函数程序 使用构造函数来创建对象 使用构造函数时,我们通过在它前面使用 new 关键字 ...

  • Js 中的类

    ES5中,使用构造函数是这样的: ES6中,构造函数 上面中constructor就是构造方法。注意定义类的方法时...

网友评论

    本文标题:第十二章 类和动态内存分配(3)在构造函数使用new时应注意的事

    本文链接:https://www.haomeiwen.com/subject/mjasnctx.html