zoukankan      html  css  js  c++  java
  • C++ 定位new创建对象

    • 使用定位new创建的对象由于不能使用delete(delete[])释放内存,因此需要显示地为使用定位new运算符创建的对象调用析构函数。
      1 char * buffer = new char[100];
      2 buffer * pc;
      3 pc = new (buffer) JustTesting;
      4 
      5 delete pc;      // not allowed
      6 
      7 pc.~buffer();    // 显示调用析构函数
      8 delete buffer;    // allowed
    • 使用定位new创建多个对象时要注意提供多个位于缓冲区的不同地址,并确保这两个内存单元不重叠,以避免覆盖原有的对象等意外错误。
    • 对于使用定位new运算符创建的对象,应该以与创建顺序相反的顺序删除。原因在于,晚创建的对象可能依赖于早创建的对象。

     

  • 相关阅读:
    python中list的一种取值方式切片
    python之字典(Dictionary)
    表示数字
    自动收售货系统
    明明的随机数
    自守数
    等差数列
    计算字符个数
    字符统计
    Redraimen的走法
  • 原文地址:https://www.cnblogs.com/suui90/p/13131640.html
Copyright © 2011-2022 走看看