C++怎么将二维vector作为函数形参
时间: 2024-09-09 22:15:19 浏览: 57
在C++中,你可以通过引用(reference)或者指针来传递二维`std::vector`作为函数的参数。这样做的目的是避免复制大量的数据,提高效率。以下是两种常见的方式:
1. **引用传递**:
```cpp
void process(vector<vector<int>>& matrix) {
// 对矩阵进行操作...
}
int main() {
vector<vector<int>> myMatrix;
// 初始化矩阵...
process(myMatrix);
return 0;
}
```
在这里,`&matrix`表示`myMatrix`是一个二维向量的引用,函数可以直接修改原矩阵。
2. **指针传递** (通常用于动态分配的内存):
```cpp
void process(vector<vector<int>*> matrix, int rows, int cols) {
for(int i = 0; i < rows; ++i) {
if(matrix[i] != nullptr) { // 检查指针是否有效
for(int j = 0; j < cols; ++j) {
// 对元素进行操作...
}
}
}
}
int main() {
vector<vector<int>>* myMatrix = new vector<vector<int>>(rows, cols); // 动态分配内存
// 初始化矩阵...
process(myMatrix, rows, cols);
delete[] myMatrix; // 确保释放内存
return 0;
}
```
这里,`matrix`是一个指向二维向量的指针数组,你需要提供行数和列数来明确其大小。
阅读全文