中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中為什么表達前提條件最好使用Expects()

發布時間:2021-11-24 16:41:01 來源:億速云 閱讀:178 作者:iii 欄目:大數據

這篇文章主要講解了“C++中為什么表達前提條件最好使用Expects()”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++中為什么表達前提條件最好使用Expects()”吧!

I.6: Prefer Expects() for expressing preconditions 表達前提條件最好使用Expects()

Reason(原因)

To make it clear that the condition is a precondition and to enable tool use.

這樣可以更清楚地表明該條件是前提條件而且讓工具可以使用它。

Example(示例)

int area(int height, int width){    Expects(height > 0 && width > 0);            // good    if (height <= 0 || width <= 0) my_error();   // obscure    // ...}
Note(注意)

前提條件可以以多種方式表達,包括注釋,if語句和斷言。這會讓它們不容易從原始代碼中區分出來,難以更新,也不容易被工具處理,也可能包含錯誤的語義(你會總是愿意調試模式時中斷執行但是運行模式時什么也不檢查么?)

Note(注意)

前提條件應該是接口的一部分而不是實現的一部分。但是我們還沒有語言功能來實現這一點。當語言支持可用時(例如查看契約建議),我們會導入前提條件的標準版,后置條件和斷言。

譯者注:斷言用于檢查實現過程中的必要條件。

Note(注意)

Expects() can also be used to check a condition in the middle of an algorithm.

期望也可以用于在算法中確認條件。

Note(注意)

No, using unsigned is not a good way to sidestep the problem of ensuring that a value is nonnegative.

使用unsigned不是確保數值非負的好辦法。

譯者注:一個值不允許為負值并不意味著就一定是無符號數。這一點可以考慮開平方的例子。

Enforcement(實施建議)

(非強制)發現多種確認前提條件的方式并不現實。注意哪些容易被發現(assert())由于語言限制而包含可疑值的情況。

感謝各位的閱讀,以上就是“C++中為什么表達前提條件最好使用Expects()”的內容了,經過本文的學習后,相信大家對C++中為什么表達前提條件最好使用Expects()這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

天气| 平利县| 上饶市| 丹阳市| 三门峡市| 郑州市| 齐齐哈尔市| 涟源市| 霞浦县| 永登县| 灵武市| 仪征市| 巧家县| 全椒县| 高州市| 金堂县| 东乡族自治县| 修文县| 曲麻莱县| 荃湾区| 澄城县| 新绛县| 保德县| 太湖县| 秦皇岛市| 城步| 精河县| 桂林市| 密山市| 民丰县| 项城市| 吕梁市| 武威市| 柘城县| 苏尼特右旗| 临西县| 道孚县| 古交市| 武冈市| 前郭尔| 灯塔市|