要想使用vector,必須包含適當的標頭檔案。
#include
using
std::vector;
vector是乙個類模板。
vector
v1; //v1是空得裡面裝的是t型別
vector
v2(v1); //v2包含v1裡面的所有元素的副本
vector
v2 = v1; //等價v2(v1);
vector
v3(n, val) //v3包含n個val元素
vector
v4(n) //v4包含了n個重複執行了值的初始化物件
vector
v5 //初始化v5裡面的值是a , b, c...
vector
v5vector
v6("c++"); //錯誤
新增元素使用的是:push_back()函式
刪除元素使用的是:pop_back()函式
但是不能使用下標形式新增元素
vector
vec;
vec.push_back(1); //把1新增進去
vec.pop_back(); //刪除1
vec[0] = 1; //錯誤的方式
要使用size_type需要首先指定它是由那種型別定義的。
vector
::size_type; //正確
vector :: size_type //錯誤
使用下標訪問
cout << vec[0] << endl; //訪問vec的第0的位置的元素
使用for迴圈
vector
vec;
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
//增強for迴圈
for(auto n : vec)
上面這個只是把vec裡面每乙個值拷貝乙份複製給n,改變n的值並不會改變vec裡面的每乙個值。
for(auto &n : vec)
這個方法就可以改變了。
使用普通的for迴圈
for(vector
::size_type i = 0; icout
<< vec[i] 《另外遍歷還可以使用迭代器
迭代器是集合通用的便利方法
vector
::iterator iter;
begin()返回的是集合的第乙個元素,是乙個指標型別
//是iter指向集合第乙個元素
vector
::interator iter = vec.begin();
end()是指向集合最後乙個元素的下一位,不返回集合中的任何乙個元素。
如果集合為空,begin() == end();
vector
::iterator iter;//宣告乙個迭代器
for(iter = vec.begin(); iter!=vec.end(); iter++)
C 標準庫vector以及迭代器
今天看c 的書,出現了乙個新的概念,容器vector以及容器迭代器。vector是同一種物件的集合,每個物件都有乙個對應的整數索引值。和string物件一樣,標準庫將負責管理與儲存元素相關的類存。引入標頭檔案 include 1 vectorv1 vector儲存型別為t的物件。預設建構函式,v1為...
C 標準庫vector型別
vector屬於順序容器,所謂順序容器,就是元素的順序與元素的值無關,與元素加入容器的位置相對應。對於vector可以將其理解為可變大小陣列,支援快速隨機訪問,在尾部之外的位置插入刪除可能會比較慢。了解完概念接下來就開始學習它的用法 假設以下 前面都包含vector標頭檔案,幷包含using nam...
c 標準庫型別 vector
一 標準庫型別vector表示物件的集合,物件型別相同,需要 include using namespace std or using std vector 二 定義和初始化vector物件 vectorv1 vectorv2 v1 vectorv2 v1 vectorv3 n,val n個val元...