C 11新標準之範圍for語句

2021-10-09 23:30:43 字數 830 閱讀 7016

說起for語句,我們都不會陌生,因為在迴圈中經常會用for語句來遍歷一些陣列什麼的,就形如以下的for迴圈,是我們最常見的:

for

(int i =

0; i <

5; i++

)

範圍for語句可以遍歷容器或者其他序列的所有元素。以下用乙個小小的**測試片段說明一下這個新特性的使用方法:

/*傳統寫法,遍歷每個string型別的字元*/

/*範圍for迴圈*/

由以上兩個圖可以看到,輸出的結果是一樣的,但是for迴圈的用法卻是不同的,第二種寫法顯然更便捷,也可以有效防止陣列越界。因為c++對於標準庫中這些型別,並不會檢驗下標是否合法,一旦使用了乙個超出範圍的下標,會產生不可預知的後果。所以使用新標準的範圍for迴圈,對於安全性應該也是更好的。

「秋風蕭瑟天氣涼,草木搖落露為霜,群燕辭歸雁南翔。」—曹丕《燕歌行》

C 11新標準總結

c 11新標準出現已久,在此主要對它做乙個總結 c 11新增型別long long和unsigned long long,以支援64位的整型,char16 t,char32 t,以支援16位和32位的字元表示。用大括號括起來的列表 初始化列表 的適用範圍,使其可用於所有內建型別和使用者定義的型別。使...

C 11新標準之五 constexpr

常量表示式必須在編譯期間計算出它的值並且 它的值不可以被改變。在c 11中,我們可以通過宣告constexpr讓編譯器確定乙個變數是不是常量表示式,宣告為constexpr的變數是const型別的變數,它必須由常量表示式來初始化。例如 cpp view plain copy constexpr in...

C 11 新標準學習記錄1

1.long long 型別,c primer 第五版中 說long long 是c 11 中新定義的人。我在使用xp 32位 vs2005 時,發現也有long long 型別,並且是8位元組的,應該是編譯器提供的一型別.2,列表初始化,對於內建變數,現在可以支援四種初始化方式 int i 0 i...