已采納回答 / 谷雷_Pro_V1
這樣創(chuàng)建出來(lái)的就是常指針。這樣做指針指向的新的Coordinate對(duì)象。教程中的代碼是創(chuàng)建了常指針并指向原來(lái)申請(qǐng)的Coordinate對(duì)象coor。
2016-03-03
最新回答 / 648940683
因?yàn)椋╬++)的返回值是原始的值,執(zhí)行完之后,p的值才變了的。我一直是這么理解的。相關(guān)的問(wèn)題可能具體的代碼需要進(jìn)行反匯編之后看匯編代碼進(jìn)行分析的。不同的編譯器對(duì)代碼有不同的優(yōu)化。個(gè)人感覺(jué)現(xiàn)在的++和--這個(gè)坑還是蠻大的。
2016-03-03
已采納回答 / 笑侃
這個(gè)事情五個(gè)字我反正是說(shuō)不清。.作為一個(gè)運(yùn)算符,兩個(gè)運(yùn)算對(duì)象分別為變量和變量,->則是地址和對(duì)象。所以你要寫(xiě)*p.coor或者p->coor。因?yàn)閜是一個(gè)指針,指針的值是一個(gè)地址,然而*p就是p指向的那個(gè)變量。
2016-02-20
最贊回答 / 追風(fēng)惡龍
這個(gè)代碼不完全 應(yīng)該外邊還有關(guān)于coor數(shù)組的聲明這個(gè)語(yǔ)句是一個(gè)遍歷coor X Y 坐標(biāo)的FOR循環(huán)語(yǔ)句?首先在FOR循環(huán)中的執(zhí)行順序可以這樣理解,首先在FOR循環(huán)中聲明一個(gè)記錄循環(huán)次數(shù)的int變量. 如第一行的 int i=0其次在設(shè)置循環(huán)的判斷條件,在滿(mǎn)足條件時(shí)進(jìn)行循環(huán). 如i<3?在最后的i++的意思是在每次循環(huán)時(shí)將聲明變量i的值增加1有了這個(gè)循環(huán)之后,那么這個(gè)2行的循環(huán)代碼塊兒內(nèi)容就會(huì)自上而下的循環(huán)3次.如:第一次for循環(huán) 判斷0<3 所以執(zhí)行cout<<"coor_x...
2016-02-11
已采納回答 / 慕前端4039174
如果沒(méi)有自定義析構(gòu)函數(shù),系統(tǒng)會(huì)自動(dòng)生成一個(gè)默認(rèn)的析構(gòu)函數(shù),在刪除對(duì)象時(shí)運(yùn)行。它并不是沒(méi)有運(yùn)行,你是在棧上定義的對(duì)象,所以在整段程序結(jié)束時(shí)系統(tǒng)再會(huì)調(diào)用析構(gòu)函數(shù),你只是沒(méi)有看到而已(此時(shí)程序還沒(méi)運(yùn)行完),如果用在堆上定義,在釋放內(nèi)存時(shí)會(huì)看到調(diào)用的。
2016-02-03
最新回答 / 超人7號(hào)
由于出現(xiàn)了常成員,所以這個(gè)常成員就必須用初始化列表來(lái)賦值。所以原來(lái)的賦值方法是錯(cuò)誤的因此要注釋掉。
2016-02-02
最新回答 / 愛(ài)于萬(wàn)化
當(dāng)沒(méi)有自己定義的時(shí)候,系統(tǒng)都會(huì)自動(dòng)生成。但是系統(tǒng)生成的構(gòu)造函數(shù)和析構(gòu)函數(shù)是空函數(shù),沒(méi)有實(shí)際作用。定義構(gòu)造函數(shù)可以發(fā)給類(lèi)成員設(shè)置默認(rèn)值等等,同樣的,如果我們的類(lèi)數(shù)據(jù)成員包含了從堆中申請(qǐng)的內(nèi)存,類(lèi)的析構(gòu)函數(shù)就應(yīng)當(dāng)加入包含釋放堆中內(nèi)存的語(yǔ)句?;蛘呶覀冃枰绦蛟趯?duì)象解散時(shí)在屏幕上輸出提示信息,也可以在類(lèi)的析構(gòu)函數(shù)中加入提示信息。
2016-01-19
最新回答 / 大萬(wàn)萬(wàn)
不是第一個(gè),因?yàn)閠his指針不需要你自己顯示的進(jìn)行傳遞。當(dāng)你定義類(lèi)函數(shù)顯示傳遞指針的時(shí)候,位置隨意 指針名字你也可以隨意定義(當(dāng)然除了this,因?yàn)橐呀?jīng)有了一個(gè)this指針了)!網(wǎng)上有資料說(shuō)它的函數(shù)原型中this指針的位置是函數(shù)形參的第一個(gè),但是這個(gè)我覺(jué)得已經(jīng)超出了我們目前所了解的范圍。
2016-01-10
已采納回答 / 張土土
1、Array arr1 當(dāng)實(shí)例化一個(gè)arr1的時(shí)候,因?yàn)橛蠥rray Array::printInfo()存在,系統(tǒng)會(huì)創(chuàng)建一個(gè)Array類(lèi)的隱形變量,我們姑且用arr2來(lái)表示隱形變量,這時(shí)arr1和arr2指向的是不同的地址,有點(diǎn)類(lèi)似于windows的復(fù)制操作。 系統(tǒng)執(zhí)行arr1.printInfo( return * this)的時(shí)候,其實(shí)相當(dāng)于arr1.printInfo( &arr2=*this; return arr2; ),所以arr1.printInfo().setlen(5)就是a...
2016-01-07
最贊回答 / 張土土
a和b指向的是不同的地址,在淺拷貝的時(shí)候,非指針型成員指向的是不同的內(nèi)存地址,指針型成員確實(shí)指向同樣的內(nèi)存地址,所以你應(yīng)該用指針做實(shí)驗(yàn)!
2016-01-06