我正在将一个 matlab 程序移植到 C/C++。我有几个问题,但最重要的问题之一在这里:Matlab treats arrays with any dimension same。假设我们有这样一个函数,
function result = f(A, B, C)
result = A + 2 * B + C;
A、B 和 C 可以是任意维度/大小的数组。我不是 C/C++ 专业人士,但我想这在 C 中并不是一项简单而干净的工作。一个想法是使用 void 指针将数组传递给函数。那我应该如何处理维度和数组操作(+/*)? 另一个想法是使用 C++ 类。我也许可以编写一个模板类,其中包含所有必需的数组操作,例如 (*、+、<<、>>、...)。但我相信这将是一项令人筋疲力尽的工作。有人有更好的主意吗?任何支持 + 和 * 运算符的简单/多维/单个头文件/开源数组类?
最佳答案
您可以查看 boost::ublas 库。它支持 vector 、矩阵、线性代数等。
关于c++ - 将 Matlab 数组移植到 C/C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6578498/