我正在将 matlab 程序移植到 C/C++。我有几个问题,但最重要的问题之一是:Matlab 将任何维度的数组都视为相同。假设我们有一个这样的函数,
function result = f(A, B, C)
result = A + 2 * B + C;
A, B, and C可以是任何维度/大小的数组。我不是 C/C++ 专业人士,但我想这在 C 中不是一项简单干净的工作。一个想法是使用 void 指针将数组传递给函数。那么我应该如何处理维度和数组运算(+/*)呢?
另一个想法是使用 C++ 类。我也许能够编写一个包含所有必需数组操作的模板类,例如 (*、+、>、...)。但我确信这将是一项令人筋疲力尽的工作。有人有更好的主意吗?任何支持 + 和 * 运算符的简单/多维/单头文件/开源数组类?
您可以查看 boost::ublas 库。它支持向量、矩阵、线性代数等。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)