gpt4 book ai didi

c++ - 如何将未知大小的二维数组传递给函数

转载 作者:可可西里 更新时间:2023-11-01 15:03:29 29 4
gpt4 key购买 nike

我想制作类库,一个函数,它的参数是一个未知大小的矩阵,用户将用自己的大小创建自己的矩阵,并将它传递给这个函数来对他的矩阵进行一些操作,就像这样,将是函数

calculateDeterminantOfTheMatrix( int matrix[][])
{
some Operations to do on matrix
}

最佳答案

C 和 C++ 的内置组件对多维数组的支持不是很好。你可以传递 N -dimension array only when you know N-1编译时的维度:

calculateDeterminantOfTheMatrix( int matrix[][123])

然而,标准库提供std::vector容器,这对于多维数组非常有效:在您的情况下,传递 vector<vector<int> > &matrix将是在 C++ 中处理任务的正确方法。

int calculateDeterminantOfTheMatrix(vector<vector<int> > &matrix) {
int res = 0;
for (int i = 0 ; i != matrix.size() ; i++)
for(int j = 0 ; j != matrix[i].size() ; j++)
res += matrix[i][j];
return res;
}

作为额外的好处,您不需要将矩阵的维度传递给函数:matrix.size()代表第一个维度,matrix[0].size()代表二次元。

关于c++ - 如何将未知大小的二维数组传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10164263/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com