《动态内存分配》ppt课件

《动态内存分配》ppt课件

ID:26912664

大小:931.01 KB

页数:41页

时间:2018-11-30

《动态内存分配》ppt课件_第1页
《动态内存分配》ppt课件_第2页
《动态内存分配》ppt课件_第3页
《动态内存分配》ppt课件_第4页
《动态内存分配》ppt课件_第5页
资源描述:

《《动态内存分配》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第九讲动态内存分配教材:《C++语言程序设计》(第4版)第6章6.3~6.5、6.8清华大学郑莉目录9.1动态内存分配9.2用vector创建数组对象9.3深拷贝与浅拷贝9.4深度探索9.5小结239.1动态内存分配动态申请内存操作符newnew类型名T(初始化参数列表)功能:在程序执行期间,申请用于存放T类型对象的内存空间,并依初值列表赋以初值。结果值:成功:T类型的指针,指向新分配的内存;失败:抛出异常。49.1动态内存分配释放内存操作符deletedelete指针p功能:释放指针p所指向的内存。p必须是new操作的返回值。例9-1(教材例6-

2、16)动态创建对象举例5#includeusingnamespacestd;classPoint{public:Point():x(0),y(0){cout<<"DefaultConstructorcalled."<

3、oidmove(intnewX,intnewY){x=newX;y=newY;}private:intx,y;};9.1动态内存分配例9-1(续)6intmain(){cout<<"Stepone:"<

4、uctorcalled.StepTwo:Constructorcalled.Destructorcalled.79.1动态内存分配申请和释放动态数组分配:new类型名T[数组长度]数组长度可以是任何表达式,在运行时计算释放:delete[]数组名p释放指针p所指向的数组。p必须是用new分配得到的数组首地址。例9-2(教材例6-17)动态创建对象数组举例8#includeusingnamespacestd;classPoint{//类的声明同例6-16,略};intmain(){Point*ptr=newPoint[2];//创

5、建对象数组ptr[0].move(5,10);//通过指针访问数组元素的成员ptr[1].move(15,20);//通过指针访问数组元素的成员cout<<"Deleting..."<

6、简洁,便于管理建立和删除数组的过程比较繁琐封装成类后更加简洁,便于管理可以在访问数组元素前检查下标是否越界用assert来检查,assert只在调试时生效例9-3(教材例6-18)动态数组类11#include#includeusingnamespacestd;classPoint{//类的声明同例6-16…};classArrayOfPoints{//动态数组类public:ArrayOfPoints(intsize):size(size){points=newPoint[size];}~ArrayOfPoi

7、nts(){cout<<"Deleting..."<=0&&index>count;ArrayOfPointspoints(co

8、unt);//创建对象数组//通过访问数组元素的成员points.element(0).move(5,0);//通过类访问

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。