仿stl構建list iterator迭代器

2021-08-18 02:21:08 字數 660 閱讀 2117

正在學習呂鑫老師博大精深的c++系列課程,在課程中有仿造stl構建list::iterator迭代器,發現c++的厲害之處,一切都是封裝,完美的封裝!

首先定義乙個類:clist

typedef int data;

struct snode ;

class clist

在clist中定義乙個類:iterator

class iterator //關鍵資料就是乙個指標,對這個指標的操作進行各種需要的過載

data&operator*()

operator snode*()

iterator& operator ++()\\前++

iterator operator ++(int)\\後++

iterator& operator --()\\前--

iterator operator --(int)\\後--

p = p->pprev;

return *this;

}                data* operator ->()

};

這個iterator類屬於類中類,成員資料就是乙個snode指標,類中有對指標的建構函式、型別轉換函式,以及對這個指標的操作進行了過載。

STL之仿函式

這裡介紹仿函式,謂詞,內建函式物件,介面卡的用法 仿函式 又稱函式物件,實際上是過載操作符 其中不定義構造和析構函式 只有乙個引數是一元仿函式,兩個就是二元 eg class func intmain 優點 函式物件超越了普通函式的概念,可以在內部儲存其狀態 比如呼叫次數 函式物件可以作為引數呼叫 ...

STL仿函式簡單總結

c 相對於c語言來說,有兩個重點,1.物件導向特性 2.函式模板 泛型程式設計。對於stl中的6大元件 容器 演算法 迭代器 仿函式 介面卡 空間配置器。仿函式的用法比較多樣化,下面簡單總結一下。使用 outit copy if init first,init last,outit dest,pr ...

stl 仿函式 函式物件

定義 stl原始碼剖析 仿函式其實上就是乙個 行為類似函式 的物件。即主體是物件,只是使用起來像乙個函式。傳遞函式指標 templatebool compare to const t x,const t y templatevoid print compare t fun int main 傳遞的是...