MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   像MATLAB这样的C ++ 2D生长数组 (https://www.labfans.com/bbs/showthread.php?t=26659)

poster 2019-12-14 20:46

像MATLAB这样的C ++ 2D生长数组
 
我已经阅读了一些有关C语言中动态增长数组的文章,但看不到如何创建2D增长数组(如在MATLAB中)。

我有一个函数可以为某些图像处理构造一个数组,但是我不知道该数组(行和行)的大小是多少。我该如何创建呢?

我读了一些有关malloc和realloc的内容。这些功能对于此问题是可移植的或有用的。

编辑:使用[URL="http://arma.sourceforge.net/"]Armadillo库[/URL] (C ++线性代数库)解决了。



[B]回答:[/B]

最简单的是使用指针

int nrows = 10; int ncols = 5; double* matrix = new double[mrows*ncols]; 然后,您可以像访问2D数组[URL="https://secure.wikimedia.org/wikipedia/en/wiki/Row-major_order#Row-major_order"]一样[/URL]访问它。

因此,如果您想要matrix[row][col] ,则可以

int offset = row*ncols+col; double value = matrix[offset]; 另外,如果您想像Matlab一样舒适地使用Matlab,请查看[URL="http://arma.sourceforge.net/"]Armadillo[/URL]



[url=https://stackoverflow.com/questions/5356946]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 23:25

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.