Chapter3 字串 向量和陣列

2022-05-03 17:54:10 字數 1052 閱讀 5830

1

for(declaration: expression)

2 statement

vector和陣列都是物件的集合,而引用不是物件。

vector物件可以高效地增長,在定義vector物件的時候設定其大小也就沒什麼必要了,事實上如果這麼做效能可能更差。

為了便於專門得到const_iterator型別的返回值,c++11新標準引入了兩個新函式,分別是cbegin() 和cend().

1

int *ptrs[10]; //

ptrs是含有10個整型指標的陣列

2int &refs[10] = /*

?*/; //

錯誤,不存在引用的陣列

3int (*parray) [10] = &arr; //

parray指向乙個含有10個整數的陣列

4int (&arrref) [10] = arr; //

arrref引用乙個含有10個整數的陣列

對於parray來說,從右向左理解就不太合理了。因為陣列的維度是緊跟著被宣告的名字的,所以就陣列而言,由內向外閱讀要比從右向左好多了。

首先是圓括號裡面的,*parray意味著parray是個指標;

接下來觀察右邊,parray是個指向大小為10的陣列的指標;

最後觀察左邊,知道陣列中的元素是int。

1

int ia[5

];2 auto ia2(ia); //

ia2是乙個整型指標

3 decltype(ia) ia3; //

ia3是乙個含有10個整數的陣列

為了讓指標的計算更安全、簡單,c++11新標準引入了兩個名為begin和end的函式,用於計算陣列的迭代器。

1

int ia[3][4];2

for (auto p = ia; p != ia + 3; ++p)38

}910for (auto p = begin(ia); p != end(ia); ++p)

1116 }

Chapter3 字串 向量和陣列

vector 初始化有多種方法,下面將這些方法詳細羅列 vector v1 定義了乙個空vector,潛在元素是t型別,執行預設初始化 vector v2 v1 v2是v1的拷貝 vector v2 v1 同上 vector v3 n,val v3包含n個重複的元素,每個的值都是val vector...

《程式設計實踐》chapter3字串

albert einstein alberteinstein albert einstein albert einstein albert einstein albert einstein a hello a 0 3 hel 操作符 表示式 abc def abcdef ab 2 abab ab 0...

Swift文件Chapter 3 字串和字元

swift的字串型別由string型別表示,也有多種訪問方式,例如以character集合方式訪問。字串的字面量是一對雙引號包裹著的具有固定順序的字符集。一對三個引號包裹著的字串是多行字串字面量。字串開始位置為三引號後一行 意味著第乙個換行符不會計入 結束位置是三引號前一行 意味著三引號前的換行符不...