我想在犰狳中创建一个矩阵,它可以在一个矩阵中保留不同的数据类型。例如,我想要一个包含三个整数列、一个浮点列和一个具有枚举值的列的矩阵。有什么解决办法吗?
Armadillo 矩阵在内部将所有元素存储为元素数据类型的标准 C 数组。这意味着所有元素必须具有相同的类型。这对犰狳很有意义,因为它旨在用于线性代数和数值计算,而不是作为通用容器。
对于您的特定情况,最好简单地创建分离的对象。例如,您可以创建一个整数矩阵(arma::imat 或 arma::umat,具体取决于您是否需要符号)、一个浮点向量 (arma::vec) 和枚举列,您可以使用 std::向量。
然后,如果您总是希望将它们保持在一起(例如,轻松地将它们作为参数传递),则可以创建一个具有三个字段的结构来存储这些对象(或使用元组)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句