1.switch語句
case關鍵字和它對應的值一起被稱為case標籤,case標籤必須是整型常量表示式。
int val=42;
char ch;
while(cin>>ch)
}
switch的執行流程有可能跨過某些case標籤。如果程式跳轉到了某個特定的case,則switch結構中該case標籤前的部分會被忽略。如果某處乙個帶有初值的變數位於作用域外,在另一處該變數位於作用域內,則從前一處跳轉到後一處的行為是非法行為。case true:
string file_name; //錯誤:控制流繞過乙個隱身初始化的變數
int val1=0; //錯誤:控制流繞過乙個顯式初始化的變數
int val2; //正確:val2沒有初始化
break;
case false:
val1=3; //錯誤:val1的初始化操作由「case」標籤跳過
val2=9; //正確:給val2賦值
break;
2. 範圍for語句
c++新標準引入,這種語句可以遍歷容器或序列的所有元素
範圍for語句的語法形式是:
for(declaration:expression)
statement
experssion表示乙個序列(如陣列、vector或string等型別的物件),declaration定義乙個變數,序列中的每個元素都能轉換成該變數的型別。
#include#includeusing namespace std;
int main();
for (auto &v : vec) //對於vec中的每乙個元素
cout << v << " ";
cout << endl;
system("pause");
return 0;
}
《C Primer》讀書筆記 第5章 語句
前面一些簡單的知識點略過 case關鍵字和它對應的值一起被稱為case標籤。case標籤必須是整形常量表示式,另外要注意的是bool char short 列舉型別也算是整形。switch語句中如果某個case標籤匹配成功,將從該標籤開始往後執行所有case分支。每個case語句分支後都應該有bre...
C Primer第5版讀書筆記(第7章 類)
第7章 類 const成員函式 7.1.4 建構函式 預設建構函式,可以使用 default進行定義。和其他函式一樣,如果 default在類的內部,則預設建構函式是內聯的 如果它在類的外部,則該成員預設情況下不是內聯的 7.2 訪問控制與封裝 class與struct的唯一區別為class的預設訪...
《C Primer》讀書筆記 5
1.switch語句,有時我們可以故意不使用break語句,達到想要的效果。但是遇到這種情況最好要寫一段注釋,說明一下。正常情況下還是要寫break語句的,漏寫會引發很嚴重的後果。2.區域性靜態變數,在函式內部定義乙個static變數,函式終止之後,這個區域性的靜態變數仍然有效。靜態變數如果不初始化...