006--C++动态内存(简介)

  (1)使用new为一个数据对象获得并指定分配内存的通用格式:

  typeName * pointer_name=new typeName;

  (2)使用delete释放内存

  delete pointer_name;

  需要注意的是,delete释放的是pointer_name所直线的数据对象的内存。同时delete适用于释放用new申请的内存。

  C++的标准指出,不要尝试释放已经释放的内存,同时也不能使用delete来释放声明变量所获得的内存。

  int age=23;

  int * page=&age;

  delete page;            //这是不合法的操作

  注意:使用delete的关键在于,将它用于new分配的内存。这并不意味着要使用用于new的指针,而是用于new的地址。

  int * ps=new int;

  int * pq=ps;

  delete pq;

  一般来说,不要创建两个指向同一个内存块的指针,因为这将增加错误的删除同一内存块两次的可能性。

原文地址:https://www.cnblogs.com/gis-user/p/4907939.html