STL中vector部分功能的實現

2021-06-04 16:28:46 字數 938 閱讀 9350

#ifndef __vector_h__

#define __vector_h__

template class vector

iterator end()

const_iterator begin() const

const_iterator end() const

enum;//設定乙個列舉來表示最小容量

private:

int m_size;

int m_capacity;

object *obj;

};template vector::vector(int size = 0)

templatevector::vector(const vector &rhs)

templateconst vector&vector::operator=(const vector &rhs)//賦值函式

m_size = newsize;

}templatevoid vector::reserve(int newcapacity)

else

templateconst object &vector::operator(int index) const

templatebool vector::empty() const

templateint vector::size() const

templateint vector::capacity() const

templatevoid vector::push_back(const object &x)

obj[m_size++] = x;

}templatevoid vector::pop_back()

templateconst object &vector::back() const

#endif

容器vector部分功能的實現

這是c primer書中的例題。實現了vector容器的部分功能。具體內容在第四版的18.1節。要考慮到vector的記憶體分配策略。下面分別是用allocator 注釋的部分 和new,delete實現的。1.allocator allocate size t t 分配原始的未構造記憶體以儲存t個...

STL中vector的使用

作用 它能夠像容器一樣存放各種型別的物件,簡單地說,vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。vector在c 標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。特別注意 使用vector需要注意以下幾點 1 如果你要表示的向量長度較長 ...

STL中vector的使用

vector是標準模板庫中我們經常使用的容器,它與陣列類似,它擁有一段連續的記憶體空間,並且起始位址不變,因此它能很好的支援隨機訪問 使用操作符訪問其中的元素 但由於它的記憶體空間是連續的,所以在中間進行插入和刪除操作會造成記憶體塊的拷貝 複雜度為o n 另外,當該陣列的記憶體空間不夠時,需要重新申...