Q
玩弄參數
7
A
回答
2
這是一種合法的方式,但在可讀性方面使用i--
作爲for循環中的條件是一個糟糕的主意。
for循環意味着由3部分組成 - 爲什麼讓人們生活更難?
人誰看了你的代碼會很高興,如果你堅持傳統for
循環:
for (int i = v.size() - 1; i >= 0; i--) {
///Stuff.
}
4
人們可以把一個for
循環
for (<decl-init> ; <condition> ; <post-adjust>) <body>
作爲大致相當於這個while
循環:
<decl-init>;
while (condition) {
<body>;
<post-adjust>;
}
The for
與上面重寫的最大區別在於<decl-init>
塊中聲明的變量範圍,但這對於下面的分析並不重要。
重寫兩個循環的循環while
給你這樣的:
int i = v.size() - 1;
while (i >= 0) {
<body>;
i--;
}
與
int i = v.size();
while (i--) {
<body>;
}
正如你所看到的,唯一的區別是i
在進入迭代之前遞減,並該條件開始於i
比第一個循環大1
。這兩個調整「相互抵消」,從技術角度來看,您的循環等同。然而,美學是一個不同的事情:副作用的條件比「純」的條件更難理解,所以第一個循環更具可讀性。
相關問題
- 1. 玩弄內置函數
- 2. 玩弄C#加密
- 3. 在Rails中玩弄郵件
- 4. 玩笑,戲弄不工作
- 5. 與JBoss 6.1.0玩弄隨着版本
- 6. 玩弄jQuery對象和變量
- 7. 用動態編程玩弄棋盤格
- 8. 如何嘲弄與開玩笑
- 9. 檢索調用統計與玩弄
- 10. 玩! Eclipse無效的參數
- 11. 從玩家對象創建參數
- 12. 玩!框架模板參數組
- 13. 玩多個參數的框架路由
- 14. Scala玩弄新的項目依賴關係?
- 15. 如何玩弄識別依賴庫的日誌輸出
- 16. 渲染組件開玩笑測試用嘲弄
- 17. 製作美麗的湯玩弄手柄吧
- 18. 團隊成員玩弄不同角色時使用SCRUM嗎?
- 19. angularjs - 玩弄angular-bootstrap-lightbox和它給我一個類型錯誤
- 20. 幫我弄兩個同名的分支第三方dll好玩
- 21. 直接編輯.class文件,玩弄操作碼
- 22. 我喜歡這個模板的設計理念,我玩弄
- 23. 如何獲得一個示例數據庫來玩弄phpMyAdmin上的SQL?
- 24. 如何嘲弄與視圖邊界的函數作爲參數
- 25. 無法弄清楚如何返回函數參數值
- 26. 使用Moq嘲弄庫函數參數使用Moq
- 27. Primefaces的數據表,整理弄亂了提交參數
- 28. 「嘲弄」bash函數
- 29. RecyclerView弄亂指數
- 30. 玩scss函數
1)基準它看到沒有區別。2)比較生成的程序集並驗證沒有什麼實質性差異。 –
@JonathonReinhart因爲在循環條目之前檢查條件,所以不需要刪除'-1'。 – dasblinkenlight
你知道你可以使用reverse_iterators來做這件事嗎? –