在C++中传递函数中2D向量的子向量可以通过使用引用或指针来实现。以下是一种常见的方法:
#include <iostream>
#include <vector>
// 函数接受2D向量的子向量作为参数
void processSubVector(const std::vector<std::vector<int>>& vec, const std::vector<int>& subVec) {
// 处理子向量
for (int num : subVec) {
std::cout << num << " ";
}
std::cout << std::endl;
}
int main() {
std::vector<std::vector<int>> vec = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// 传递子向量给函数
processSubVector(vec, vec[1]); // 传递vec[1]作为子向量
return 0;
}
在上述示例中,processSubVector
函数接受一个2D向量vec
和一个子向量subVec
作为参数。通过引用传递子向量,可以直接在函数中处理子向量。
#include <iostream>
#include <vector>
// 函数接受2D向量的子向量指针作为参数
void processSubVector(const std::vector<std::vector<int>>& vec, const std::vector<int>* subVecPtr) {
// 处理子向量
if (subVecPtr != nullptr) {
for (int num : *subVecPtr) {
std::cout << num << " ";
}
std::cout << std::endl;
}
}
int main() {
std::vector<std::vector<int>> vec = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// 传递子向量指针给函数
processSubVector(vec, &vec[1]); // 传递vec[1]的地址作为子向量指针
return 0;
}
在上述示例中,processSubVector
函数接受一个2D向量vec
和一个子向量指针subVecPtr
作为参数。通过指针传递子向量,需要在函数中使用指针解引用来处理子向量。
无论是使用引用还是指针传递子向量,都可以在函数中对子向量进行操作和处理。这种方法适用于需要在函数中对子向量进行修改或其他操作的情况。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云