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

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

我可以使用什么代替箭頭運算符`->`?

我可以使用什么代替箭頭運算符`->`?

C++
函數(shù)式編程 2019-10-05 14:33:24
箭頭運算符(->)的同義詞是什么?
查看完整描述

4 回答

?
慕俠2389804

TA貢獻1719條經(jīng)驗 獲得超6個贊

以下兩個表達式是等效的:


a->b


(*a).b

(如Konrad所述,操作符會受到重載,但這是不尋常的)。


查看完整回答
反對 回復 2019-10-05
?
胡子哥哥

TA貢獻1825條經(jīng)驗 獲得超6個贊

a->b通常是的同義詞(*a).b。由于運算符的綁定強度,此處的括號是必需的,*并且.:: *a.b無效,因為.綁定更牢固并首先執(zhí)行。因此,這等效于*(a.b)。


但是,請?zhí)岱乐剌d:由于->和*都可以重載,因此它們的含義可能會大不相同。


查看完整回答
反對 回復 2019-10-05
?
Qyouu

TA貢獻1786條經(jīng)驗 獲得超11個贊

C ++語言將箭頭運算符(->)定義為取消引用指針的同義詞,然后.在該地址上使用-operator。


例如:


如果您有一個對象anObject和一個指針,則aPointer:


SomeClass anObject = new SomeClass();

SomeClass *aPointer = &anObject;

為了能夠使用對象方法之一,您可以取消引用指針并對該地址進行方法調(diào)用:


(*aPointer).method();

可以使用箭頭運算符編寫:


aPointer->method();

存在箭頭運算符的主要原因是,它縮短了一個非常常見的任務的鍵入時間,并且還很容易忘記指針取消引用前后的括號。如果您忘記了括號,則.-operator的綁定會更強,然后* -operator并使我們的示例執(zhí)行為:


*(aPointer.method()); // Not our intention!

其他一些答案也提到C ++運算符可能是重載的,而且這種情況并不常見。


查看完整回答
反對 回復 2019-10-05
?
江戶川亂折騰

TA貢獻1851條經(jīng)驗 獲得超5個贊

在C ++ 0x中,運算符具有第二個含義,表示函數(shù)或lambda表達式的返回類型


auto f() -> int; // "->" means "returns ..."


查看完整回答
反對 回復 2019-10-05
  • 4 回答
  • 0 關(guān)注
  • 657 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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