gpt4 book ai didi

arrays - 如何以不支持其他嵌套结构的语言有效地实现包含其他嵌套结构数组的嵌套结构?

转载 作者:行者123 更新时间:2023-12-03 20:20:22 26 4
gpt4 key购买 nike

结构

这是我需要构建的主要结构,创建一个类型 tParent (伪代码,其中 () 是一个数组声明):

type Ne {
single D()
dword DC
single B
single V
single D
}

type L {
Ne Ns()
dword NC
}

type tParent {
L La()
dword LC
single LR
}

tParent nTest

// would be accessed like nTest.La(0).Ns(0).B = 42 ...

但是,为此必须使用的专有语言没有“用户定义类型的数组”。支持嵌套,所以除了 ()上面类型中的数组声明,代码是有效的。



从算法上讲,实现这种结构的最有效方法是什么。我考虑将子类型扩展为数组,并使用保存偏移量的第二个数组访问它们,但我怀疑这在任何方面都有效。

最佳答案

我只能建议创建字节数组并使用它,就像您在汇编语言中使用内存一样。您可以将内存访问的复杂性隐藏在访问器方法后面,例如

 single typeName_fieldName_get(byte arr(), int offset) {
return convertFomByteToSingle(
arr(offset+OFFSET_OF_FIELD_NAME + 0),
arr(offset+OFFSET_OF_FIELD_NAME + 1),
arr(offset+OFFSET_OF_FIELD_NAME + 2),
....
);
}

关于arrays - 如何以不支持其他嵌套结构的语言有效地实现包含其他嵌套结构数组的嵌套结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31399867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com