CTypedPtrList詳細說明和具體用法

2021-06-18 23:16:20 字數 2364 閱讀 4749

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...