ctypedptrlist類是個模板類,一般在軟體開發中用到的時候比較多,它的作用就是類似乙個鍊錶,下面是這個類的原型
template < class base_class, class type>
class ctypedptrlist : public base_class
第乙個引數說明是列表的基類,這裡必須是個指標列表類(coblist或者cptrlist,自己覺得用其他的列表類也可以,只要是指標列表類)
第二個引數指在列表類中所存放的型別
為什麼不直接用coblist或者cptrlist呢?這是有原因的,因為ctypedptrlist類又進一步的封裝了cptrlist,並且為消除了一些錯誤,還提供了一些型別的強制轉化,所以說一般都是用ctypeptrlist這個模板類,你也不用擔心這個類封裝以後會變的速度慢,因為ctypedptrlist類封裝以後裡面的函式是內聯的,如果你想真正想掌握這個模板類還是需要看看他提供的成員函式,下面是它的成員函式構造
cptrlist
構造乙個空的void指標列表
首/尾訪問
gethead
返回列表(不能為空)的頭元素
gettail
返回列表(不能為空)的尾元素
操作 removehead
移走列表的頭元素
removetail
移走列表的尾元素
addhead
將乙個元素(或另一列表中的所有元素)增加到列表頭(成為新的列表頭)
addtail
將乙個元素(或另一列表中的所有元素)增加到列表尾(成為新的列表尾)
removeall
從此列表中移走所有元素
重複 getheadposition
返回列表頭元素的位置
gettailposition
返回列表尾元素的位置
getnext
獲取用於重複的下乙個元素
getprev
獲取用於重複的上乙個元素
獲取/修改
getat
獲取在給定位置的元素
setat
設定在給定位置的元素
removeat
從此列表中移走給定位置的元素
插入 insertbefore
在乙個給定位置之前插入乙個新元素
insertafter
在乙個給定位置之後插入乙個新元素
搜尋 find
獲取乙個由指標值指定的元素的位置
findindex
獲取由乙個索引(從零開始)指定的元素的位置
狀態 getcount
返回此列表中的元素數目
isempty
測試列表是否為空(無元素)
只要你充分能用上上面的函式我想你的ctypedptrlist這個模板類也掌握的很好了,
下面是個例子說明
首先自己定義乙個類或者結構體都是可以的,只要你符合標準,下面我來定義乙個結構體
typedefstruct _jiegouti
student,*lpstudent //這裡只是定義乙個結構體
typedef ctypedptrlistcstudent;//這裡定義個模板型別
cstudent m_student;//定義這個模板的變數
//下面是往這個列表中模板中新增物件,
lpstudent mystudent;//定義乙個結構體指標變數;
mystudent =new student;//在堆中建立乙個學生
//為這個學生新增資訊
mystudent->name=」zl」;
mystudent->age=12;
m_student. addtail(mystudent);//把這個學生新增模板這個容器中
當然了你還可以檢視容器中學生的資訊,請看下面**
lpstudent lpstudent;
cstring tempname;
int tempage;
position pos=m_student. getheadposition();
//迴圈遍歷找出容器中的所有學生的資訊
while (pos!=null)
當然了你也可以刪除這個容器中的學生物件,**如下
position pos= m_student.getheadposition();
while(pos!=null)
注意當乙個ctypedptrlist物件被刪除時,或者是當它的元素被刪除時,只有指標被刪除了,而它們所引用的項並沒有被刪除。這個大家必須自己琢磨一下,自己思考比我說效果還好當然了我這裡只是說明了,這個模板的幾個用法,其實還是有很多用法,因為他的成員函式也是很多的,你可以根據自己的想法去實現就可以,還有就是不管你怎麼弄,其實還是裡面的成員函式,你自己只要多看幾點這個模板的成員函式我想對你不是很難。
**:
CTypedPtrList詳細說明和具體用法
ctypedptrlist類是個模板類,一般在軟體開發中用到的時候比較多,它的作用就是類似乙個鍊錶,下面是這個類的原型 template class base class,class type class ctypedptrlist public base class 第乙個引數說明是列表的基類,這...
HTML基礎(適合入門,很詳細,很詳細,很詳細)
概念 是最基礎的網頁開發語言 標記語言 快速入門 title red hello world green hello world 標籤學習 檔案標籤 構成html最基本的標籤 文字標籤 和文字有關的標籤 p 段落標籤 br 換行標籤 hr 展示一條水平線 b 字型加粗 i 字型斜體 font 字型標...
background position 詳細用法
語法 background position length length background position position position 取值 length 百分數 由浮點數字和單位識別符號組成的長度值。請參閱 長度單位 position top center bottom left c...