函数调用中的参数为vector
时间: 2024-09-11 14:12:12 浏览: 35
在C++编程语言中,函数参数可以是标准模板库(STL)中的`vector`容器。将`vector`作为参数传递给函数有两种常见的方式:通过值传递和通过引用传递。
1. 通过值传递:这种方式会创建传入`vector`的一个副本,对副本的任何修改都不会影响原始的`vector`。这种方式适合于不需要修改原始数据的情况,但是由于创建了副本,可能会有一定的性能开销。
2. 通过引用传递:这种方式不会创建副本,而是直接传递`vector`的引用,所以对`vector`的任何修改都会反映到原始数据上。这种方式适合于需要修改原始数据或者想要提高性能(避免不必要的复制)的情况。
下面是一个简单的示例代码,展示了如何在函数中使用`vector`作为参数:
```cpp
#include <iostream>
#include <vector>
// 通过值传递的方式接收vector
void printVector(std::vector<int> v) {
for (int i : v) {
std::cout << i << " ";
}
std::cout << std::endl;
}
// 通过引用传递的方式接收vector
void modifyVector(std::vector<int>& v) {
for (int& elem : v) {
elem *= 2;
}
}
int main() {
std::vector<int> myVector = {1, 2, 3, 4, 5};
// 传递vector副本
printVector(myVector);
// 传递vector引用
modifyVector(myVector);
// 打印修改后的vector
printVector(myVector);
return 0;
}
```
在这个示例中,`printVector`函数通过值传递接收了一个`vector`参数,而`modifyVector`函数则通过引用传递来接收`vector`参数。在`main`函数中,我们创建了一个`vector`并尝试了这两种传递方式。
阅读全文