課程
/后端開發(fā)
/C++
/數(shù)據(jù)結(jié)構(gòu)探險(xiǎn)之樹篇
直接用整型的數(shù)不行嗎?為什么要用指針,傳值的時(shí)候還得寫取地址符號(hào)
2016-12-05
源自:數(shù)據(jù)結(jié)構(gòu)探險(xiǎn)之樹篇 4-1
正在回答
可以傳整型數(shù),但很多時(shí)候傳入的結(jié)點(diǎn)的類型并不像整型這么簡(jiǎn)單,而是一個(gè)對(duì)象。這樣的話,如果傳指針就會(huì)比直接傳值效率要高一些,我想老師是考慮到大多數(shù)情況才選用傳指針參數(shù)的,如果你擔(dān)心在函數(shù)中會(huì)修改傳入的參數(shù)的話,可以將其修飾為const,這樣更加保險(xiǎn)!希望對(duì)你有幫助~
void test(struct *p,int &num2){num2=(你p中要找的數(shù));?}//此時(shí)在主函數(shù)可以通過num2來(lái)查看你找到的數(shù)
伏雀 提問者
可以, num2可以不用引用
但你需要向原來(lái)的樹上插入,因此傳進(jìn)來(lái)的樹應(yīng)該是指針或引用,這樣原來(lái)的樹才會(huì)被修改
如果你用值傳遞,在函數(shù)中只是單向傳遞,你在函數(shù)中對(duì)原來(lái)的數(shù)據(jù)進(jìn)行修改,數(shù)據(jù)只會(huì)在函數(shù)中改變,如果出了這個(gè)函數(shù),外面的相當(dāng)于沒有修改,引用是綁定在某一個(gè)對(duì)象身上,這里引用綁定的對(duì)象時(shí)指針,引用只是對(duì)象一個(gè)別名,就相當(dāng)于去地址操作。
舉報(bào)
樹,將為你開啟更精彩的數(shù)據(jù)結(jié)構(gòu)大門,了解更多概念
1 回答為什么插入節(jié)點(diǎn)時(shí)要使用指針?
1 回答為啥AddNode函數(shù)傳入的pNode需要是指針啊
2 回答為啥要定義一個(gè)父指針
2 回答為什么三個(gè)指針的數(shù)據(jù)類型是node*
1 回答插入節(jié)點(diǎn)不要判斷索引到的節(jié)點(diǎn)有無(wú)左右孩子嘛?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-12-27
可以傳整型數(shù),但很多時(shí)候傳入的結(jié)點(diǎn)的類型并不像整型這么簡(jiǎn)單,而是一個(gè)對(duì)象。這樣的話,如果傳指針就會(huì)比直接傳值效率要高一些,我想老師是考慮到大多數(shù)情況才選用傳指針參數(shù)的,如果你擔(dān)心在函數(shù)中會(huì)修改傳入的參數(shù)的話,可以將其修飾為const,這樣更加保險(xiǎn)!希望對(duì)你有幫助~
2016-12-06
void test(struct *p,int &num2)
{
num2=(你p中要找的數(shù));?
}//此時(shí)在主函數(shù)可以通過num2來(lái)查看你找到的數(shù)
2016-12-06
可以, num2可以不用引用
2016-12-06
但你需要向原來(lái)的樹上插入,因此傳進(jìn)來(lái)的樹應(yīng)該是指針或引用,這樣原來(lái)的樹才會(huì)被修改
2016-12-05
如果你用值傳遞,在函數(shù)中只是單向傳遞,你在函數(shù)中對(duì)原來(lái)的數(shù)據(jù)進(jìn)行修改,數(shù)據(jù)只會(huì)在函數(shù)中改變,如果出了這個(gè)函數(shù),外面的相當(dāng)于沒有修改,引用是綁定在某一個(gè)對(duì)象身上,這里引用綁定的對(duì)象時(shí)指針,引用只是對(duì)象一個(gè)別名,就相當(dāng)于去地址操作。