【发布时间】:2017-06-06 13:21:36
【问题描述】:
我正在编写一个读取由另一个库生成的 hdf5 文件的 c++ 库。
那些 hdf5 文件包含大量具有各种复合数据类型的复合数据集。我希望将每种复合数据类型转换为 C++ 结构。
对于字符串(可变长度或固定大小的字符数组),我想在 C++ 结构中使用 std::string。
目前,我使用中间 C 结构(使用 char* 或 char[] 变量),然后将其转换为最终的 C++ 结构。但是,这会导致大量样板代码。
如果我可以按成员提取数据成员,我可以执行以下操作:
std::string name = extract<std::string>(d,"name");
其中 d 是复合数据集。
有没有可能
【问题讨论】:
-
您想提取的成员总是字符串吗?还是它们有许多不同的数据类型?
-
成员有混合类型。