vector作为函数参数
时间: 2023-07-26 09:05:09 浏览: 53
当将向量作为函数参数传递时,可以有几种不同的方式来实现。以下是常见的几种方法:
1. 传递指针:可以将指向向量的指针作为函数参数传递。这样可以避免复制整个向量,节省内存和时间。例如:
```cpp
void myFunction(std::vector<int>* vec) {
// 对向量进行操作
(*vec)[0] = 10;
}
int main() {
std::vector<int> myVec = {1, 2, 3};
myFunction(&myVec);
// myVec 现在为 {10, 2, 3}
return 0;
}
```
2. 使用引用传递:可以使用引用来传递向量,这样函数内部对向量的修改将反映在原始向量上。例如:
```cpp
void myFunction(std::vector<int>& vec) {
// 对向量进行操作
vec[0] = 10;
}
int main() {
std::vector<int> myVec = {1, 2, 3};
myFunction(myVec);
// myVec 现在为 {10, 2, 3}
return 0;
}
```
3. 使用 const 引用传递:如果函数只需要读取向量而不修改它,可以使用 const 引用传递,以避免无必要的复制。例如:
```cpp
void myFunction(const std::vector<int>& vec) {
// 对向量进行只读操作
int value = vec[0];
}
int main() {
std::vector<int> myVec = {1, 2, 3};
myFunction(myVec);
return 0;
}
```
这些是传递向量作为函数参数的常见方法,你可以根据具体情况选择适合的方式。