类和对象补遗.pptVIP

  • 2
  • 0
  • 约4.83千字
  • 约 20页
  • 2019-11-10 发布于安徽
  • 举报
类与对象补遗 再讲动态内存的分配与释放 自由存储区对象 浅复制与深复制 再讲动态内存的分配与释放 数组动态分配格式: 指针变量名=new 类型名[下标表达式]; Delete[ ] 指向该数组的指针变量名; 说明: 两式中的方括号必须配对使用。 如果delete语句中少了方括号,因编译器认为该指针是指向数组第一个元素的指针,会产生回收不彻底的问题(只回收了第一个元素所占空间),加了方括号后就转化为指向数组的指针,回收整个数组。(此处有问题!!!!!!) delete [ ]的方括号中不需要填数组元素数,系统自知。即使写了,编译器也忽略。 请注意“下标表达式”不是常量表达式,即它的值不必在编译时确定,可以在运行时确定。 动态分配数组的特点: 1. 变量n在编译时没有确定的值,而是在运行中输入,按运行时所需分配空间,这一点是动态分配的优点,可克服数组“大开小用”的弊端,在表、排序与查找中的算法,若用动态数组,通用性更佳。delete [ ]pc是将n个字符的空间释放,而用delete pc则只释放了一个字符的空间;(错!!!) 2. 如果有char *pc1,令pc1=pc,同样可用delete [ ] pc1 来释放该空间。尽管C++不对数组作边界检查,但在自由 存储区 空间分配时,对数组分配空间大小是纪录在案的。 3. 没有初始化式(initi

文档评论(0)

1亿VIP精品文档

相关文档