最贊回答 / 慕雪908267
這里創(chuàng)建的*P是一個對象,所以銷毀的時候不用[];當(dāng)創(chuàng)建的是一個對象數(shù)組的話就需要[];這個是內(nèi)存管理的內(nèi)容,即申請一個內(nèi)存,銷毀的時候是delete p;申請的是內(nèi)存塊的話就要delete []p
2019-01-14
最新回答 / 我不是蠢驢
Coordinate沒有默認(rèn)構(gòu)造函數(shù) ,Line要使用初始化列表Line::Line(int x1,int y1,int x2,int y2):m_coorA(x1,y1),m_coorB(x2,y2){}仔細(xì)聽老師最后說的?。?!
2019-01-08
最新回答 / 慕粉1536534692
構(gòu)造函數(shù)在你初始化的時候會調(diào)用,老師的代碼里那個構(gòu)造函數(shù)是有cout<<Coordinate()<<endl;故初始化調(diào)用構(gòu)造函數(shù)時會執(zhí)行cout<<Coordinate()<<endl;析構(gòu)函數(shù)是在銷毀時調(diào)用,打印原理如上;
2018-11-24
已采納回答 / qq_慕圣7592846
p是指針,在執(zhí)行完for的最后一次操作之后,p指向了申請的內(nèi)存的之前一個位置,也就是p[-1],如果不p++,歸還的內(nèi)存是從p[-1]開始的,是錯誤的
2018-11-23
已采納回答 / 寶慕林0048322
//確定方向 如果方向上有墻就逆時針轉(zhuǎn)一下 void turnBack(string map[X][Y], Human *man) { static int cache = 0; if (man->direction == N) { if (map[man->x - 1][man->y] == WALL) { man->direction = W; cache++; turnBack(map, man); } cache = 0; return...
2018-11-22
最新回答 / mooc_kai
返回(return)機(jī)制涉及到 返回值 和 返回引用。返回值,即返回的是一個數(shù)值,是將該值(這里的*this)復(fù)制到臨時存儲區(qū)域中, 然后返回,可以理解為創(chuàng)建了一個新的臨時變量,因此不能改變對象的值。返回引用,即返回的是一個地址(這里的this),通過該地址訪問的是原來的對象,因此可以修改對象的值。
2018-11-15
最新回答 / 勒尼
因?yàn)槟愣x的指針p,雖然指向了一個16大小的堆,但是在sizeof(p)計算的時候只是對p這個指針的所占內(nèi)存,而對那個堆的內(nèi)存不計算。
2018-11-09