第5章 語句
5.1 簡單語句
- 復合語句
5.3 條件語句
if 語句和switch
注意匹配和括號
5.3.2 swith 語句
不允許跨過變量的初始化的語句直接跳轉到該變量作用域的另一個位置。
5.4 迭代語句
5.4.1 while語句
- 使用while循環
不知道到底要迭代多少次,比如讀入輸入內容,還有一種是想在循環結束后訪問循環控制變量。
5.4.2 傳統for語句
for語句中的多重定義
省略for語句中的某些部分
5.4.3 范圍for語句
vector<int> v = {0,1,2,,3,4,5,6,7,8,9};
// 范圍變量必須是引用類型,這樣才能對元素執行寫操作
for(auto &r : v) // 對于v中的每一個元素
r *=2; //將v中的每個元素的值翻倍
for(auto beg = v.begin(), end = v.end(); beg != end; ++beg)
{
auto &r =*beg; //r 必須為引用類型,這樣才能對元素執行寫操作
r *= 2; // 將v中每個元素的值翻倍
}
所以不能通過范圍for語句增加vector對象(或者其他元素的對象),在范圍for語句中,預存了end()的值。一旦在序列中添加(刪除)元素。end函數的值就變得無效了。
5.4.4 do while語句
有分號,只執行一次。
因為對于do while來說先執行語句或者塊,后判斷條件,所以不允許在條件部分定義變量
5.5 跳轉語句
5.5.1 break語句
5.5.2 continue語句
5.5.1 goto 語句
不要在程序中使用goto語句,因為使得程序即難讀也難修改。
5.6 try語句塊和異常處理
- throw 表達式
- try語句塊
- 一套異常類
5.6.3 標準異常
stdexcept