D Tuple 应用:为 struct 添加成员
D的文档里说 struct/class 的 .tupleof 属性可以把一个 struct 的所有成员变量转换为一个 tuple。那么反过来让 tuple 作为 struct 的成员可不可以呢?答案是可以,因为 tuple相当一个可以存放不同元素类型的静态数组,我们只要在 struct 中声明一个 Tuple 实例就能达到目的:
D 代码
struct Foo(Tuple...)
{
Tuple fields;
}
alias Foo!(int, long, char) Foobar;
Foobar bar;
这样就相当于手写:
D 代码
struct Foobar
{
int field0;
long field1;
char field2;
}
当访问 bar 中的元素时,只需:
D 代码
bar.fields[0] = 1; // Tuple 第一个元素是 int 类型
bar.fields[2] = 'A';
...
更多信息请登陆http://61.191.27.74:802/ 最后,欢迎加入http://61.191.27.74:802/的会员
安徽新华电脑学校专业职业规划师为你提供更多帮助【在线咨询】