在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是一个类)。

最新文章

  1. ubuntu 安装phpstorm
  2. Unity3D 物体移动方式
  3. table边框单线的实现方法
  4. 捉襟见肘之UIView中contentMode属性
  5. golang time and duration
  6. Canvas 教程
  7. PowerDesigner-如何导出建表sql脚本
  8. usaco3.33Camelot(BFS)
  9. Cmd批处理语法实例
  10. boost ASIO实例
  11. 1934: [Shoi2007]Vote 善意的投票
  12. 前端笔记之ES678&amp;Webpack&amp;Babel(上)初识ES678&amp;Babel&amp;let和const&amp;解构&amp;语法
  13. 第2章 Java编程基础
  14. CSS 文字概念小记
  15. Android Service和Binder、AIDL
  16. windows下用C++获取本机IP地址
  17. nginx和php之间是怎样通信的呢?
  18. 重载(overload),覆盖(override),隐藏(hide)的区别
  19. How do I avoid capturing self in blocks when implementing an API?
  20. ByteUnit

热门文章

  1. Python基于回溯法解决01背包问题实例
  2. HBase 批量删除表 disable_all drop_all
  3. Python的Multiprocessing多进程实例
  4. 04 npm 命令大全
  5. 积累-T
  6. linux如何设置磁盘配额?
  7. 【LeetCode】打家劫舍系列(I、II、III)
  8. (转)批量 kill mysql 中运行时间长的sql
  9. PTA(Advanced Level)1042.Shuffling Machine
  10. Amoeba 实现MySQL读写分离