MFC的資料型別

2021-09-30 11:41:26 字數 1879 閱讀 1381

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都過載了 ...