如何在数据类型中声明具有固定大小的数组字段?我正在创建一个名为CPU的复合数据类型.我知道您可以将字段的类型设置为数组类型,但是您是否可以实例化大小或者是否需要创建显式构造函数?
type CPU
//how do I declare memory as an Int8 array of size 64K
//memory::Array{Int8,1}
//memory = Array{Int8,64000}?
OpCode::Int8
Operand::Int8
Condition::Int8
PC::Int64
end
Run Code Online (Sandbox Code Playgroud)
数组类型没有size参数.内存的类型将是Vector{Int8}(或者Array{Int8,1},Vector只是一维数组的别名).您可以使用内部构造函数来检查大小或抛出错误.
为了更加安全,您可以创建一个新类型,它只有一个数组并定义了,等等的调度length,getindex以便为它所拥有的数组创建一个数组接口,但是没有定义调整大小的方法.这可能是矫枉过正(如果你抓住数组的字段,你仍然可以调整它的大小).
FixedSizeArrays或StaticArrays在这里不适用,因为数组太大(它们会大量增加编译时间).
| 归档时间: |
|
| 查看次数: |
303 次 |
| 最近记录: |