mfc資料型別分為3類
array:陣列
list:雙向鍊錶
map:又稱為dictionary,其內物件成對存在,一為鍵值物件(key object),一為實值物件(value object) .
mfc collection classes所支援的物件中,有兩種特別需要說明,一是ob,一是ptr:
ob表示派生自cobject的任何物件。mfc提供coblist, cobarray兩種類。
ptr表示物件指標。mfc提供cptrlist, cptrarray兩種類。
下表是對所有collection classes性質的乙份摘要整理
注釋①若要檔案讀寫,你必須呼叫collection object的serialize函式;若要內容傾印,你必須呼叫其dump函式。不能夠使用archive<template-based classes的使用方法
簡單型template-based classes使用時需要指定引數:
.carray
.clist
.cmap
其中type用來指定你希望收集的物件的型別,它們可以是:
.c++基礎型別,如iht, char, long, float等等。
.c++結構或類。
arg-type則用來指定函式的引數型別。舉個例子,下面的程式表示我們需要乙個int陣列,陣列成員函式(例如add)的引數是int:
carraymintarray;
m_intarray .add(15);
再舉一例,下面的程式表示我們需要乙個由iht組成的鍊錶,鍊錶成員函式(例如addtail)的引數是int:
clistm intlist;
m_intlist.addtail(36);
m_intlist.removeall();
再舉一例,下面的程式表示我們需要乙個由cpoint組成的陣列,陣列成員函式(例如add)的引數是cpoint:
carraympointarray;
cpoint point(18,64);
m_pointarray .add(point);
「型別指標」型的template-based classes使用時亦需指定引數:
.ctypedptrarray
.ctypedptrlist
.ctypedptrmap
其中type用來指定你希望收集的物件的型別,它們可以是:
.c++基礎型別,如iht, char,
long, float等等。
.c++結構或類。
base_class則用來指定基類,它可以是任何用來收集指標的non-template collection classes,例如coblist、cobarray、cptrlist或cptrarray等等。舉個例:
下面程式表示我們需要乙個派生自coblist的類,用來管理乙個鍊錶,而鍊錶組成部分為cstroke
ctypedptrlistm_strokelist;
cstroke*pstroke工tem=new cstroke(20);
m_strokelist.addtail(pstrokeitem);
MFC中的資料型別
mfc中的資料型別 資料型別 資料型別 意義bool boolean值 true or false bstr 32 bit字元指標 byte 8 bit整數,無正負號 colorref 32 bit數值,代表乙個顏色值 dword 32 bit整數,無正負號 long 32 bit整數,有正負號 l...
MFC資料型別總結
bool boolean值 true false bstr 32 bit 字元指標 byte 8 bit 整數 未帶正負號 colorref 32 bit 數值 代表乙個顏色值 dword 32 bit整數 未帶正負號 long 32 bit整數 帶正負號 lparam 32 bit數值 作為視窗函...
MFC 常用資料型別轉化
cstring可以轉換為基本型別lpctstr,lpctstr根據專案編碼可以是const char 或者const wchar t string可以用c str 轉換為const char stringw可以用c str 轉換為const w char 而cstring和string w都過載了 ...