vector操作整理

2021-06-07 21:14:22 字數 3811 閱讀 3808

其迭代器函式原型:

iterator begin();

const_iterator begin() const;

iterator end();

const_iterator end() const;

reverse_iterator rbegin();

const_reverse_iterator rbegin() const;

reverse_iterator rend();

const_reverse_iterator rend() const;

其訪問操作:

reference operator[ ](size_type n);

const_reference operator[ ](size_type n) const;

reference at(size_type n) ;//在各種標準序列裡,只有vector和deque支援下標操作。list沒有這個操作,因為list是鍊錶,不是隨機訪問,更適合增刪改 

const_reverence at(size_type n) conset;

其建構函式原型:

explicit vector(const a&=a());

explicit vector(size_type n,const t& val=t(),const a&=a());

template

vector(in first,in last,const a&=a());

vector(const vector& x);

~vector();

vector& operator=(const vector& x);

template

void assign(in first,in last);

void assign(size_type n,const t& val);

其堆疊操作:

void push_back(const t& x);

void pop_back();

其表操作:

iterator insert(iterator pos,const t& x);//返回的迭代器指向新插入的元素

void insert(iterator pos,size_type n,const t& x);

template

void insert(iterator pos,in first,in last);

iterator erase(iterator pos);//返回的迭代器指向被刪除的最後元素之後的那個元素

iterator erase(iterator first,iterator last);//返回的迭代器指向被刪除的最後元素之後的那個元素

void clear();//等價與c.erase(c.begin(),c.end());

大小容量控制操作:

size_type size() const;

bool empty() const

size_type max_size() const;

void resize(size_type sz,t val=t());

size_type capacity() const;

void reserve(size_type n);

reserve()並不改變vector的大小,並沒有要求它對任何新元素做初始化,在這兩個方面都與resize()不一樣 

其他成員函式:

void swap(vector&);

allocator_type get_allocator() const;

協助函式

template

bool std::operator==(const vector&x,const vector& y);

template

bool std::operator

標準庫還定義了!=,<=,>,>=操作,這裡就不一一羅列了。

標準庫還提供了特化模板vector

c.begin()返回的是vector::const_iterator

vector操作的一些**:

v.erase(first,last.base());//iterator和reverse_iterator是不同的型別,reverse_iterator可以通過base()提取iterator

忠告:1利用標準庫功能,以維持可移植性

2記住標準庫功能都定義在std名字裡

3用base()可以從reverse_iterator提取iterator

4通過引用傳遞容器

5多用容器和push_back()或resize(),少用陣列和realloc()

'>

vector用法整理

包含標頭檔案 include 一 vector 的初始化 可以有五種方式,舉例說明如下 1 vectora 10 定義了10個整型元素的向量 尖括號中為元素型別名,它可以是任何合法的資料型別 但沒有給出初值,其值是不確定的。2 vectora 10,1 定義了10個整型元素的向量,且給出每個元素的初...

STL模板整理 vector

1 c 標準模板庫與c 標準庫的關係 c 標準模板庫其實屬於c 標準庫的一部分,c 標準模板庫主要是定義了標準模板的定義與宣告,而這些模板主要都是 類模板,我們可以呼叫這些模板來定義乙個具體的類 與之前的自己手動建立乙個函式模版或者是類模板不一樣,我們使用了 stl就不用自己來建立模板了,這些模板都...

vector操作小結

前面了解了一下vector,現在我們來看看vector的相關操作。int main vectorv5 vectorv6 3 只提供數量而略去初始值,int 0,string 空串 vector iterator it push back向vector物件中新增元素 for int i 0 i 10 ...