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

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

C ++ 11中的safe-bool成語是否過時?

C ++ 11中的safe-bool成語是否過時?

C++
郎朗坤 2019-08-30 16:01:05
在C ++ 11中,安全布爾的習語顯然已被棄用,因為它可以被簡單的替換explicit operator bool() const;根據答案中的標準引用§4 [conv] p3:對于某些發(fā)明的臨時變量(§8.5),T當且僅當聲明T t=e;格式正確時,表達式e才能隱式轉換為類型t。某些語言結構要求將表達式轉換為布爾值。對于某些發(fā)明的臨時變量t(§8.5),當且僅當聲明格式正確時,表示出e現(xiàn)在這樣的上下文中的表達被上下文轉換為bool并且格式良好bool t(e);。突出顯示的部分清楚地顯示了“隱式顯式轉換”(在標準中稱為“上下文轉換”)為@R。馬蒂紐說。需要“隱式顯式強制轉換”的“某些語言結構”似乎如下:if,while,for(§6.4 [stmt.select] p4)二元邏輯運算符&&和||(§5.14 [expr.log.and/or] p1兩者)邏輯否定運算符!(§5.3.1 [expr.unary.op] p9)條件運算符?:(§5.14 [expr.cond] p1)static_assert(§7 [dcl.dcl] p4)noexcept(§15.4 [except.spec] p2)我們在標題中的假設是否正確?我希望我們不會忽視任何潛在的缺點。
查看完整描述

3 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

是。這是僅存在隱式用戶定義轉換的問題的示例,并且由于這個問題而實際上發(fā)明了明確的用戶定義轉換運算符,并且用更清潔和更合理的東西替換所有安全bool的東西。


查看完整回答
反對 回復 2019-08-30
?
哆啦的時光機

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

我不會稱之為“過時”。不是每個人都在邁向C ++ 11(甚至不到1歲)。即使編寫了大量的編碼器,保持代碼向后兼容的能力也是必須的,考慮到這種習慣看起來對于圖書館比對于正確的程序更合理。


查看完整回答
反對 回復 2019-08-30
?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

我不得不因為分歧而不得不投票,盡管我會親自給你買啤酒并說“嘿嘿沒有感情”。但是--std=c++0x,在最終釘子進入標準棺材之前很久,C ++ 11中的許多范例都經歷了部署,他們決定將這個名稱放在ISO規(guī)范上。除非你是一個非常深入的模板元編程癮君子,否則C ++ 11規(guī)范的細節(jié)與人們使用的內容可能對你沒有任何影響......這意味著它甚至比所有實際目的都要早于2011年。

查看完整回答
反對 回復 2019-08-30
  • 3 回答
  • 0 關注
  • 580 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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