【C++學習筆記】列表初始化規則
C++規定了如下幾條關於初始化陣列的規則:
1、只有在定義陣列時才能使用初始化,此後就不能再使用了,也不能將一個陣列賦給另一個陣列。
2、初始化陣列時,提供的值可以少於陣列的元素數目。
3、如果只對陣列的一部分進行初始化,則編譯器將其他元素設定為0。因此,將陣列中的所有元素都初始化為0的方法——顯式的將第一個元素初始化為0,接下來讓編譯器將其他元素初始化為0即可。
4、如果初始化陣列時方括號([])為空,C++編譯器將計算元素個數。
C++11陣列初始化方法:
1、初始化陣列時,可省略等號(=)
double earnings[4] {1.2e4, 1.6e4, 1.1e4, 1.7e4};
2、可不在大括號內包含任何東西,這將把所有元素設定為零
unsigned int counts[10] = {};
float balances[100] {};
3、列表初始化禁止縮窄轉換
long plifs[] = {25, 92, 3.0};
char slifs[4] = {'h', 'i', 1122011, '\0'};
char tlifs[4] {'h', 'i', 112, '\0'};
第一句不能通過編譯,將浮點數轉為整型是縮窄操作,即使浮點數的小數點後面為零。
第二句也不能通過編譯,因為1122011超過了char變數的取值範圍(這裡假設char變數的長度為8位)。
第三句可以通過編譯,雖然12是一個int值,但它在char變數的取值範圍內。
相關文章
- HexMap學習筆記(四)——不規則化筆記
- 「學習筆記」迴圈、列表筆記
- React學習筆記-列表 & KeysReact筆記
- 正規表示式學習筆記(1)-認識正則筆記
- Flutter學習筆記(12)--列表元件Flutter筆記元件
- python學習筆記 列表的切片Python筆記
- JavaScript正則學習筆記JavaScript筆記
- C++學習筆記——003C++筆記
- C++學習筆記——001C++筆記
- OI學習筆記(C++)筆記C++
- c++學習筆記(三)C++筆記
- c++學習筆記(五)C++筆記
- c++學習筆記(四)C++筆記
- C++學習筆記九:值,常量,常表示式和常初始化C++筆記
- C++學習筆記——C++ 繼承C++筆記繼承
- C++學習筆記-Cherno C++系列C++筆記
- C/C++學習路線———學習筆記C++筆記
- C/C++學習筆記:字串C++筆記字串
- C++ vector 列表初始化C++
- 學習筆記:深度學習中的正則化筆記深度學習
- Python學習筆記8——列表、字典、元組Python筆記
- C++學習筆記(二)——函式C++筆記函式
- c++學習筆記 — inline這玩意C++筆記inline
- 正規表示式學習筆記筆記
- 動態規劃學習筆記動態規劃筆記
- 分數規劃學習筆記筆記
- 學習筆記——正則匹配方法整理筆記
- 依賴倒轉原則--學習筆記筆記
- C++ 學習筆記之——STL 庫 queueC++筆記
- C++學習筆記----讀寫檔案C++筆記
- Python學習筆記 - 正規表示式Python筆記
- 【學習筆記】之:Java命名規範筆記Java
- Golang學習筆記(一):命名規範Golang筆記
- eslint常見規則列表EsLint
- python學習筆記:第4天 列表和元組Python筆記
- Python零基礎學習筆記(十五)——list(列表)Python筆記
- C++複習筆記C++筆記
- ES6學習筆記(四)【正則,集合】筆記
- MySQL學習筆記:組合索引-最左原則MySql筆記索引