【问题标题】:convert MATLAB cell type to c++将 MATLAB 单元格类型转换为 c++ 【发布时间】:2012-03-03 05:35:07 【问题描述】: 我正在使用Armadillo 转换 C++ 中的 MATLAB 程序以用于矩阵代数。 我卡在cell 类型上。有人有一些提示吗? 【问题讨论】: 标签: c++ matlab cell armadillo 【解决方案1】: 那是因为 'cell' 并不是一个真正的类型——它是一个占位符,可以放置任何你想在其中放置的东西。在 C# 和 Python 等语言中,我能想到的最接近的东西是“元组”,它本质上可以包含匿名类型。 由于 C++ 没有内置的元组类型,我建议你看看Boost,它是一个非常全面、成熟和开源的库,几乎可以满足你在 C++ 中需要的任何东西。在 Boost 下,查看 Fusion 库,或者如果您需要不简单的东西,请查看 Tuple 库。 EDIT 正如 Matt 在下面提到的,从 TR1 开始,元组是 C++ 标准库的一部分。请参阅 Matt 的链接 here。 【讨论】: 有什么理由离开the standard? @Matt:不,不是。它只是让我忘记了 TR1 有元组。 【解决方案2】: 犰狳有field 类! 【讨论】: 【解决方案3】: 您的单元格数据可能会很好地转换为 C++ 对象。我建议您检查您的单元格包含的内容,看看您是否可以将其表示为一个类。然后,您就可以创建对象的向量/数组/矩阵,并让它们像 MATLAB 中的单元格一样处理。 【讨论】: