📅  最后修改于: 2023-12-03 15:09:33.986000             🧑  作者: Mango
在C++中,我们可以使用二维向量来存储二维数据。如果我们需要将二维向量传递给函数,我们需要使用传址或引用的方式传递,以避免传递整个向量的副本。
void function(vector<vector<int>>* vec) {
// 通过指针操作向量
(*vec)[0][0] = 100;
}
int main() {
vector<vector<int>> vec = {{1, 2}, {3, 4}};
function(&vec); // 通过地址传递
cout << vec[0][0]; // 输出100
return 0;
}
void function(vector<vector<int>>& vec) {
vec[0][0] = 100;
}
int main() {
vector<vector<int>> vec = {{1, 2}, {3, 4}};
function(vec); // 通过引用传递
cout << vec[0][0]; // 输出100
return 0;
}
在C++中,传引用是更加常用的传递方式,因为语法更加简洁,而且不会因为使用指针而引起的一些问题,比如指针为空指针等。
[]
符号进行访问和修改元素,不可以使用迭代器遍历向量。在C++中,通过传址或引用的方式可以传递二维向量给函数,操作方便灵活,使用起来也较为简单。需要注意的是,在传递二维向量时要保证已经初始化,并使用[]
操作符访问和修改元素。