c primer讀書筆記 第5章 語句

2021-06-29 05:34:57 字數 1048 閱讀 1535

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變數,函式終止之後,這個區域性的靜態變數仍然有效。靜態變數如果不初始化...