c vector初始化總結

2021-07-28 20:12:27 字數 852 閱讀 2784

對c++ primer上面vector的常用用法做歸納總結。

4種初始化vector的方式:

1、vectorv1; vector儲存型別為t的物件。預設建構函式,v1為空。

2、vectorv2(v1); v2是v1的乙個副本。

3、vectorv3(n,i); v3包含n個值為i的元素。

4、vectorv4(n); v4含有值初始化的元素的n個副本。(n個元素)

vector物件的操作

v.empty()  如果v為空,則返回true,否則返回false。

v.size()  返回v中元素的個數。返回值的型別為vector::size_type 型別(unsigned int)

v.push_back(t)  在v的末尾增加乙個值為t的元素。(注意vector中下標操作不能新增元素:例如v[n]=n;這句話可以修改元素,前提是要這個位置有元素。比如這個位置原值為0,現在通過下標的方法修改為1。下標操作只能用於獲取已存在的元素,但是如果是迭代器iterator的話,*iterator = 0是可以賦值的!!)

v[n]  返回v中位置為n的元素。

v1=v2  把v1的元素替換成v2的副本。

v1==v2  如果v1和v2相等,則返回true。

!=,<,<=,>,>=  這些符號保持原有意思。

vector中的const_iterator只能用於訪問容器中的元素,不能用來改變其所指向的元素的值。可以對迭代器進行自增以及使用解引用操作符來讀取值,但不能對該元素值賦值。

注意和const vector::iterator cit的區分,這裡cit是乙個const,所以cit++是錯誤的!

c vector物件初始化

因為最近在準備c 用到了vector stl,但是發現自己完全不太會用,所以上網查了一下一些常用的初始化方法 其實就是把vector當做乙個安全的動態陣列即可 其他使用方法基本類似於c的陣列,主要是初始化有些多元化,這裡詳細列舉一下。下面 用到的兩個iter量宣告 vector iterator i...

C vector的初始化

因為編演算法的時候經常用的stl函式庫的vector,每次初始化的時候都要搜一下,這次自己整理一下。這時候v的size為0,如果直接進行訪問 v i 會報錯。這裡可以使用 v.resize n 或者v.resize n,m 來初始化 前者是使用n個0來初始化,後者是使用n個m來初始化。可以使用初始化...

C vector的初始化

因為編演算法的時候經常用的stl函式庫的vector,每次初始化的時候都要搜一下,這次自己整理一下。這時候v的size為0,如果直接進行訪問 v i 會報錯。這裡可以使用 v.resize n 或者v.resize n,m 來初始化 前者是使用n個0來初始化,後者是使用n個m來初始化。可以使用初始化...