D Tuple 應(yīng)用:為 struct 添加成員
D的文檔里說(shuō) struct/class 的 .tupleof 屬性可以把一個(gè) struct 的所有成員變量轉(zhuǎn)換為一個(gè) tuple。那么反過(guò)來(lái)讓 tuple 作為 struct 的成員可不可以呢?答案是可以,因?yàn)?tuple相當(dāng)一個(gè)可以存放不同元素類型的靜態(tài)數(shù)組,我們只要在 struct 中聲明一個(gè) Tuple 實(shí)例就能達(dá)到目的:
D 代碼
struct Foo(Tuple...)
{
Tuple fields;
}
alias Foo!(int, long, char) Foobar;
Foobar bar;
這樣就相當(dāng)于手寫(xiě):
D 代碼
struct Foobar
{
int field0;
long field1;
char field2;
}
當(dāng)訪問(wèn) bar 中的元素時(shí),只需:
D 代碼
bar.fields[0] = 1; // Tuple 第一個(gè)元素是 int 類型
bar.fields[2] = 'A';
...
更多信息請(qǐng)登陸http://61.191.27.74:802/ 最后,歡迎加入http://61.191.27.74:802/的會(huì)員
安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢】