3 字串 向量和資料

2021-10-03 16:13:50 字數 1925 閱讀 7435

表示物件的集合,也叫容器,是乙個類模板

#include

using std::vector

迭代器型別:

vector<

int>

::iterator it;

// it能讀寫vector的元素

string::iterator it;

// it能讀寫string物件中的元素

vector<

int>

::const_iterator it;

// it能讀不能寫vector的元素

string::const_iterator it;

// it能讀不能寫string物件的元素

謹記:但凡是使用了迭代器的迴圈體,都不要向迭代器所屬的容器中新增元素迭代器的運算:iter±n表向前後移動n個元素,iter1-iter2表之間的距離(difference_type),

例:

auto beg = text.

begin()

,end = text.

end();

auto min = text.

begin()

+(end - beg)/2

;while

(mid != end &&

*mid != sought)

陣列下標為定義在中的size_t型別

陣列與指標:

int ia=

;auto

ia2(ia)

;//ia2是乙個整型指標,指向ia的第乙個元素

decltype

(ia) ia3 =

;//ia3是陣列

int*beg=

begin

(ia)

;//指向ia的首元素

int*last=

end(ia)

;//指向ia尾元素的下一位置的指標

與舊**的介面:

整型提公升

無符號型別得運算物件

顯示轉換:

異常:存在執行時的反常行為,超出了函式的正常功能範圍,如失去資料庫連線、遇到意外輸入。—設計系統最難的一部分

省略符形參

值是怎麼返回的

列表初始化返回值

主函式main的返回值

返回陣列指標的函式:陣列維度必須跟在函式名後,形參列表跟在函式名後且先於陣列維度

type (

*function

(parameter_list)

)[dimension]

int(

*func

(int i))[

10];

使用尾置返回型別

尾置返回型別跟在形參列表後,->開頭,原來的位置替換位auto,如:

auto

func

(int i)

->

int(*)

[10];

使用decltype,如:

int odd=

;int even=

;decltype

(odd)

*arrptr

(int i)

同一作用域內幾個函式名字相同但行參列表(型別或數量)不同,稱為過載函式

Chapter3 字串 向量和陣列

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

Chapter3 字串 向量和陣列

1 for declaration expression 2 statement vector和陣列都是物件的集合,而引用不是物件。vector物件可以高效地增長,在定義vector物件的時候設定其大小也就沒什麼必要了,事實上如果這麼做效能可能更差。為了便於專門得到const iterator型別的...

三 字串 向量和陣列

一 標準庫型別string 1 使用等號 初始化乙個變數,執行的是拷貝初始化,編譯器把等號右側的初始值拷貝到新建立的物件中 如何不使用等號,則執行的是直接初始化。2 os is s 從is中讀取字串賦給s,字串以空白分隔,返回is getline is,s 從is中讀取一行賦給s,返回is 3 st...