C++ new和delete运算符得简单使用

时间:2023-03-09 00:37:12
C++ new和delete运算符得简单使用

NEW

C++ 中的new运算符用来分配内存,和c语言中得malloc有相似得功能。

  1. 使用new为当个元素开辟内存空间,并返回地址

    typeName *pointer_name =new typeName;

    例如:使用new开辟可以存储int类型数值大小得内存空间,然后返回开辟得内存空间得地址。

    int *a=new int;
  2. 使用new创建动态数组并返回地址

    typeName *pointer_name =new typeName[size];

    例如:使用new来创建包含10个int元素得数组

    int *a=new int [10];

delete

delete运算符用来释放new开辟得空间,以节省内存开销

  1. 删除单个元素指针

    delete pointer_name;
  2. 删除数组

    delete []a;

注意事项

  1. 不要使用delete来释放不是new分配的内存。
  2. 不要使用delete释放同一个内存块两次。
  3. 如果使用new [ ]为数组分配内存,则应使用delete [ ]来释放。
  4. 如果使用new [ ]为一个实体分配内存,则应使用delete(没有方括号)来释放。
  5. 对空指针应用delete是安全的。