new与delete

来源:互联网 发布:淘宝卖家学院 编辑:程序博客网 时间:2024/06/09 23:38

区别表达式new与delete与operator new与operator delete

  • 表达式new工作原理

    1. 调用名为operator new或者operator new[]的标准库函数。该函数分配一块足够大的、原始的、未命名的内存空间。
    2. 编译器运行相应的构造函数以构造这些对象,并为其传入初始值。
    3. 内存被分配了空间并构造完成,返回一个指向该对象的指针。
  • 表达式delete工作原理

    1. 对指针所指对象或数组中的元素指向对应的析构函数。
    2. 编译器调用名为operator delete或者operator delete[]的标准库函数释放内存空间。
  • 程序使用动态内存的原因

    1. 程序不知道自己需要使用多少对象
    2. 程序不知道所需对象的准确类型
    3. 程序需要在多个对象间共享数据
0 0
原创粉丝点击