一般我們使用struct時需要在標頭檔案中定義,例如
struct example
int a;
char b;
這樣將資料打包好必須在程式執行之前將其定義好,如果有需求在程式執行時新增資料,就無法達到目的。
例如我需要向example通過讀取檔案的方法來定義它所包含的變數。在python中。有乙個結構叫做元組,如。它可以存放各種型別的資料,並且可以動態新增或者刪除。我需要用c++實現元組的形式。
思路很簡單,我們寫乙個類canytype,此類可以存放各種型別的資料並且只能存放乙個資料。如canytype a,b,c...
a="hello world"
b='a'
c=1
class canytype //: public cobject
;public
:canytype
operator=(const
int &in)
canytype
operator=(const wchar_t &in)
canytype
operator=(const
float &in)
canytype
operator=(const
double &in)
canytype
operator=(const lpctstr lpctstring)
}
我們首先將基礎資料型別或可能用到的資料型別放入類中做成員變數,為了節省記憶體,可放入聯合中。
然後我們為每種資料型別過載操作符=,這個類現在就可以接受預定的任意資料型別了。如果需要其他操作(大於,小於等),可自己過載操作符。
最後我們需要製成乙個元組只需new乙個陣列就完成了。
canytype *a=new canytype[size]
為元組賦值
a[0]=1.1
a[1]=2
a[size-1]="end"
3 2 2 用 C 實現元組型別
3.2.2 用 c 實現元組型別 system 命名空間中實際的 tuple型別更複雜一點,但是,我們可以很容易實現在這一章中所需要的功能。我們對其命名與 net 型別相同,因此,如果不使用 net 4.0,在所有的示例中可以使用我們 這裡 所實現的 元組 清單 3.7 是完整的 清單 3.7 實現...
c 元組使用
元組使用 poco tuplea 5,333 false cout 10 a.set 1 444 a.set 2 true cout 元組應用 例如 你有這樣乙個函式 void test std string,int,bool,float,char,long,double,short,std str...
c 元組舉例
元組的概要 陣列合併了相同型別的物件,而元組合並了不同型別的物件。元組起源於函式程式語言 如f 在 這些語言中頻繁使用元組。在n盯4中,元組可通過.net fmmework用於所有的net語言。net 4定義了8個泛型tuple類和乙個靜態tuple類,它們用作元組的工廠。這裡的不同泛型tuple ...