zoukankan      html  css  js  c++  java
  • C++之new和delete操作符

    在C语言中的动态分配和释放内存的函数是malloc calloc 和 free , 而在C++中要用 new new[] delete delete[] 来申请动态空间和释放空间。

    注意:的是new、new[]、delete和delete[]是操作符,而非函数;new和delete也是C++的关键字。

    操作符new用于动态分配单个空间,而new[]则是用于动态分配一个数组,操作符delete用于释放由new分配的空间,delete[]则用于释放new[]分配的一个数组

    下面是简单的实例代码

    using namespace std;
    
    int main()
    {
       int *p = new int (5);
       int *q = new int[10];
       *q = 80;
       q++;
       *q = 293;
       cout << *q << endl;
       cout << *p << endl;
       delete p;
       return 0;
    }

    运行结果

    293
    5

    为了避免内存泄露,通常new和delete、new[]和delete[]操作符应该成对出现,并且不要将这些操作符与C语言中动态分配内存和释放内存的几个函数一起混用。建议在编写C++程序时尽量使用new、new[]、delete和delete[]操作符进行动态内存分配和释放,而不要使用C语言中内存分配和释放的函数,这是因为new、new[]、delete和delete[]操作符可以使用C++的一些特性,如类的构造函数和析构函数,能够更好地管理C++程序的内存。

  • 相关阅读:
    使用iframe从网页调起移动端应用
    综合练习:词频统计
    组合数据类型练习
    python 绘制五星红旗
    熟悉常用的Linux操作
    大数据概述
    windowBackground打造闪屏页
    安卓日期选择对话框
    c语言语法分析器
    C语言文法
  • 原文地址:https://www.cnblogs.com/wanghuixi/p/6939962.html
Copyright © 2011-2022 走看看