首页 > 技术文章 > new和delete用法小结

niuxichuan 2016-02-28 10:29 原文

在C语言中是利用库函数 malloc 和 free 函数来分配和撤销内存的。C++提供了较简便而功能较强的运算符 new 和 delete 来取代 malloc 和 free 函数。

new 和 delete 是运算符,不是函数,因此执行效率高。

1. 注意 new int(100) 与 new int [100] 的区别。

2. 动态分配和释放二维数组的方法:

 1)char (*a)[N]; a = new char[m][N]; delete[] a;

 2)char** a = new char* [m];

      for(int i = 0;i<m;i++)

    a[i] = new char[N];

  for(i = 0;i<m;i++)

    delete[] a[i];

  delete[] a;

 3)也可以直接分配一个大的一维数组,用的时候转换一下下标即可。

3. 一个例子:

   CShape** pshape = new CShape* [100];(CShape是一个类)。

推荐阅读