在下面的代码中,matrix.size()
和 matrix[0].size()
到底有什么区别?
int matrixElementsSum(std::vector<std::vector<int>> m) {
int s = 0;
for (int j = 0; j < m[0].size(); j++) {
for (int i = 0; i < m.size(); i++) {
if (m[i][j] == 0) {
break;
}
s += m[i][j];
}
}
return s;
}
最佳答案
假设你有:
std::vector<std::vector<int>> m(10, std::vector(20);
m.size()
将是 10,std::vector<int>
的数量在m
.
m[0].size()
将是 20,数字 int
在m[0]
.
将其与二维数组进行比较,如果您有:
int m[10][20];
sizeof(m)/sizeof(m[0])
将为 10,即 m
中的行数.
sizeof(m[0])/sizeof(m[0][0])
将为 20,即 m[0]
中的列数.
关于c++ - matrix.size() 和 matrix[0].size() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43404801/