寫vector的內部方法
1 #include2using
std::vector;3//
寫乙個動態記憶體45
classca9
ca();
10};
11 template
12class
cstack13;
22 template
23void cstack::pop()
2427
28 template
29 cstack::cstack()
3033
34 template
35void cstack::push(t const&val)
3639
intmain()
40
寫乙個位元組的類對自己的類進行加工封裝函式 實現vector內部封裝的效果 進而實現所需要的內容
1#pragma once
2 template3
class
myvector4;
35 template36
void myvector::myvector()//
無參構造
3742
43 template44
void myvector::~myvector()//
析構函式 清除物件
4548 template49
void myvector::clear
5058
}59 template60
void myvector::myvector(int n)//
n個有t的預設構造的構造物件 構造進這個容器
61 68
else
6973}74
75 template76
void myvector::myvector(int n, t const& elem)//
用n個elem物件來構造這個容器 &來增加傳遞效率
7784
else
8592}93
}94 template95
void myvector::myvector(myvector const&other)
96106
}107 template108 size_t myvector::size() const
//返回容器的長度
109112 template113 size_t myvector::capacity() const
//返回容器大小
114117 template118
bool myvector::empty() const
//判斷容器是否為空
119123 template124
bool myvector::operator==(myvector const& srcvector) const
//判斷容器是不是相等
125133
return
true
;134
}135 template136
bool myvector::operator==(myvector const& srcvector) const
//判斷容器是不是相等
137140 template141
void myvector::assign(int n, t const& elem)//
和帶參構造類似 對容器進行賦值
142151
}152
153void myvector::swap(myvector &srcvector)
154167 template168 t cmyvector::at(int index)//
唯一的會主動拋異常的函式
169174
175 template176 t cmyvector::operator(int index)//
這個應該出錯就出錯 無法出來 按照給的要求來
177180 template181 t myvector::back()
182185
186 template187 t myvector::front()
188191
192 template193 t myvector::operator(int
index)
194197 template198
void myvector::push_back(t const&elem)
199211 pbuff[len++] =elem;
212 }
vector的內部實現
假定你現在已經能熟練使用vector,如果你很好奇vector背後是怎麼實現的,那麼本文或許對你能有所幫助。vector代表了c 的動態陣列,大小是動態可增長的。你不必考慮自己手動分配或釋放記憶體,也不必擔心記憶體洩漏,vector幫你做了這一切。vector的使用很簡單,但是要做到有效率,沒那麼容...
STL基礎1 vector的實現
本文的 主要實現了vector 的 1.基本操作如 push back pop back size back 2.操作符的過載如 include using namespace std templateclass myvector 複製建構函式 myvector const myvector rhs...
vector的clear操作的內部過程
最近在論壇看到乙個提問帖子,問題是vector中儲存了物件的指標,呼叫clear後這些指標如何刪除?class test test int main 同時最近又看到一道面試題 對於stl中的vector呼叫clear時,內部是如何操作的?若想將其記憶體釋放,該如何操作?針對以上兩個問題,我們追蹤一下...