模擬實現vector

2021-07-30 23:27:31 字數 1309 閱讀 9884

#include 

#include

using

namespace

std;

template

class vector

// 向vector中存入size個元素

vector(const t* array, size_t size)

:_start(new t[size])

,_endofstorage(_start+size)

,_finsh(_start)

_finsh = _start + size;//更新_finsh

}~vector()

}iterator begin()

constiterator begin()const

iterator end()

constiterator end()const

size_t size()const

size_t capacity()const

bool empty()const

return ture;

}t& operator(size_t idx)

t& operator(size_t index)const

// 獲取vector中的第乙個元素

t& front()

const t& front()const

// 獲取vector中的最後乙個元素

t& back()

const t& back()const

void pushback(const t& x)

void popback()

// 在pos位置上插入元素x

iterator insert(iterator pos, const t& x)

*pos = x;

++_finsh;

}// 刪除pos位置上面的元素

iterator erase(iterator pos)

iterator cur = pos;

while (cur < _finsh)

--_finsh;

}private:

/*start和finsh之間的元素就是容器有效的元素,而strat和end_of_storage之間的空間就是總容量。*/

t* _start;//容器開頭

t* _finsh;//有效元素

t*_endofstorage;//容量

void swap(vector& v)

void checkcapacity()//檢查容量

}};

STL模擬實現vector

首先給出所需要實現的函式介面和類的封裝 templateclass vector 接下來給出上面介面的具體的實現,但是其中有 型別萃取,因為需要根據不同的資料型別進行不同的賦值方式,從而提高程式的效率。下面給出所有的實現 和我自己的測試 struct truetype struct falsetyp...

stl 模擬實現vector

對於vector相信大家並不陌生,這裡介紹一些重要的vector的介面和用法。1.建構函式 vector 無參構造 vector size type n,const value type val value type 構造並初始化n個val vector inputiterator first,in...

vector的模擬實現

上一節部落格講述了vector常見介面的使用,今天主要是對vector這些介面進行模擬實現,下面是相關 include include includeusing namespace std namespace ty iterator end citerator cbegin const citera...