第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于指針的引用,有疑惑

關于指針的引用,有疑惑

C++
103945962 2018-05-08 14:14:04
為什么count不用指針作為參數(shù),而arr必須要用指針作為參數(shù)。arr1的引用為什么不是getMaxOrMin(&arr1, 4, isMax)
查看完整描述

2 回答

已采納
?
onemoo

TA貢獻883條經驗 獲得超454個贊

你沒搞懂的好像是“數(shù)組傳參”:

在 C++ 中,當想要向函數(shù)中傳入數(shù)組時,數(shù)組在傳參時會隱式轉型為指向其首元素的指針,函數(shù)實際上得到的是這個指針。所以函數(shù)聲明中的第一個形參要聲明為 int 指針類型。

main 函數(shù)中的 getMaxOrMin(arr1, ...) 這里就是函數(shù)調用,這里傳入數(shù)組直接寫數(shù)組名就可以了。


這里發(fā)生的只是數(shù)組傳參,和“引用”沒有關系。 不要搞混了,& 這個符號不是只有“引用”這一個含義:

當聲明一個變量時,變量名前有 & 修飾表示這個變量是“引用類型”。

而在使用變量時,前面的 & 是“解引用(或稱取地址)運算符”,用來得到該變量的地址。

所以不要看到 & 就只想“引用”。


上面解釋了為什么“arr必須要用指針作為參數(shù)”,那么“為什么count不用指針作為參數(shù)”:

函數(shù)的這第二個參數(shù),你打算傳入整形值,那么形參就聲明為對應的 int 就可以了。


你最好去梳理下關于形參的一些知識:普通類型形參、指針類型形參、引用類型形參,理解下它們的作用和意義。你好像把這些搞混了。

查看完整回答
反對 回復 2018-05-18
?
AAnonymous

TA貢獻62條經驗 獲得超31個贊

你這里`&`不是引用,是取地址符。即使你函數(shù)聲明為引用,調用時傳實參也不用加 `&`


所以,Google C++ Code Style 里建議建議不要使用非const引用形參,閱讀時容易產生歧義

查看完整回答
反對 回復 2018-05-18
  • 2 回答
  • 0 關注
  • 1044 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號