立即学习:https://edu.csdn.net/course/play/474/5140?utm_source=blogtoedu
动态内存的建立和释放
回顾:为了提高内存的空间利用率
- new运算符:动态分配内存
- delete运算符:释放内存
原理:用new运算符分配内存后,将返回一个指向新对象的指针的值,用户通过这个地址来访问对象。
Time *pt1 = new Time;
Time *pt2 = new Time(1,2,3);
pt2->show_time();
使用动态内存建立的对象只能通过指针来进行访问,建立对象时指向的构造函数在极端情况下还可能出现内存不足等异常情况。
使用完成以后,需要使用delete将对象进行释放。
建立对象数组和指针数组
固定大小的数组可能会造成资源浪费。
动态数组:一个指针指向一段连续的空间。这段连续空间作为一个数组,数组单位是一个类的对象
Time *t;
t = new Time[n];
t->Time[0] .
动态指针数组
Time *t[n]={null};
for(i=0,i<n,i++)
{
cin>>h>>m>>s;
t[i] = new Time(h,m,s);
}