通过HDF5 C API,我发现H5Tvlen_create
用于创建1d可变长度数据类型。多维可变长度数据类型怎么样?它们得到支持吗?
显然,可变长度1d数据类型可以组合起来创建2d数据类型。但是,有没有更直接的方法?我的问题是我有一个结构数组(复合类型),它的属性类型是int**
(或2d int array)。但是,二维阵列的大小并不是固定的。
最佳答案
一种方法是将复合数组的这个属性设置为areference到另一个数据集。您可以将引用的数据集放在另一个组中以保持整洁,当然每个数据集可以有自己的大小(甚至不同数量的维度)。
另一个丑陋的解决方案是使用可变长度数组的可变长度数组…不,不要这样做!