我想将矩阵从一个函数传递到另一个函数,所以我做了:
#include <cstdlib>
using namespace std;
const int N = 2;
void init_matrix(int (*matrix)[N])
{
for (int i = 0; i < N; ++i)
for (int j = 0; j < N; ++j)
matrix[i][j] = 1;
}
int main()
{
int *x = (int*)malloc(N*N*sizeof(int));
init_matrix( (int (*)[N]) x );
return 0;
}
如何让通话init_matrix()
更轻松?我想象它像init_matrix(x, N)
。
请注意,我有点避免std::vector
,因为我很快就会使用并行编程(pthreads、OpenMP、MPI)。所以我会要求一个没有std
构建矩阵方法的解决方案。