亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

和Java中一樣,是否可以保證C ++中的短路評估?

和Java中一樣,是否可以保證C ++中的短路評估?

慕勒3428872 2019-10-12 10:35:47
在Java中,我使用if (a != null && a.fun());通過充分利用短路評估和表達式從左到右進行評估?在C ++中,我可以這樣做嗎?它們是否保證可跨不同平臺和編譯器移植?if (a != 0 && a->fun());
查看完整描述

3 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

是的,對于“內置”類型可以保證。但是,如果您重載&&或|| 對于您自己的類型,不執行短路評估。因此,重載這些運算符被認為是不好的事情。


查看完整回答
反對 回復 2019-10-12
?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

是。&&和|| C和C ++中的短路;它是由標準保證的。

查看完整回答
反對 回復 2019-10-12
?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

我不是說這是瘋狂的禁止操作符重載。我說這是瘋狂的,禁止其出于這個原因,這既容易克服,并遠高于其他合理原因不太顯著。夸張地說,在C ++中,您不能信任任何東西-但是,您必須謹慎對待自己的期望。Java程序員在C ++中大多數“不可預測的”事情甚至根本不會在Java或C中進行編譯。分配/轉換是真正的尷尬。我從來沒有對看到將兩個對象添加到一起感到恐慌,但是我很欣賞它并不瘋狂。

查看完整回答
反對 回復 2019-10-12
  • 3 回答
  • 0 關注
  • 508 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號