#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 另外,當該陣列的記憶體空間不夠時,需要重新申...