對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來初始化。可以使用初始化...