CPP學習 字串 向量和陣列

2021-09-19 08:42:49 字數 1039 閱讀 7321

vector有向量和容器的意思,個人感覺翻譯成容器可能會更合適一點,但是教材c++primer上翻譯的是容器,入鄉隨俗了。

使用vector需要包含命名域std和標頭檔案二者缺一不可。

#include using namespace std;
建立vector的方式有很多,這裡只給出最常用的幾種

//下文的t指type,vector可以根據定義來存放不同型別的元素。

vectorvec; //建立乙個空的vector。

vectorvec2(vec1); //相當於vectorvec2 = vec1,單純的複製而已

vectorvec2 = vec1; //同上

vectorvec(n); //初始容量為n的vector,元素為預設值,比如int為0

vectorvec(n,val); //初始容量為n,且n個元素均為val。

vectorvec = //初始值為大括號內的元素

使用方法push_back(val)既可。

切記不能用下標形式新增元素,可以用下標形式來改變元素。

vec.empty();

vec.size();

vec.push_back();

vec[n] //類似於陣列,用下標取值,但是切記不能超過size

vec = ; //替換vec中的元素

具有迭代器的容器都含有begin()和end()兩個成員方法。

其中end()返回的是其末尾元素的下一位,也就是說end()迭代器並不指向乙個實際的元素。

使用==和!=來判斷兩個迭代器是否相等,當迭代器指向的元素相等時,他們就想等。

可以通過判斷乙個容器的begin()和end()迭代器是否相等來判斷這個容器是否為空。

void iterator_isempty()
改變vector容量的操作都會使迭代器失效,操作時需要留心一下。

字串 向量和陣列

迭代器介紹 陣列定義和初始化string物件 string物件上的操作 處理string物件中的字元 定義和初始化 vector v1 vector v2 v1 v2中包含有v1中所有元素的副本 vector v2 v1 等價於v2 v1 vector v3 n,va1 v3包含n個重複的v1 ve...

C primer字串 向量和陣列

1.cin string 型別 不讀取空格 2.getline 讀入內容直到換行符,保留空白符,換行符不不存入string 3.s.empty s為空則返回true,否則返回flase 4.s.size s中的字元的個數,返回值為無符號數 5.字面值與string物件相加 當把string物件和字元...

C 字串 向量和陣列

vector物件 以及string物件 的下標運算子可用於訪問已存在的元素,而不能用於新增元素。只能對確知已存在的元素執行下標操作。所有標準庫容器都可以使用迭代器,string物件不屬於容器型別,但是支援很多與容器型別類似的操作。const vectorcv auto it cv.begin it ...