如何在函数中传入vector数组
时间: 2024-03-17 19:44:26 浏览: 124
在函数中传入vector数组可以使用以下两种方法:
1. 传入vector数组的引用
可以将vector数组作为函数参数,通过引用的方式传递给函数。这样可以避免拷贝vector数组,提高程序执行效率。例如:
```c++
#include <iostream>
#include <vector>
using namespace std;
// 接受vector数组的引用作为参数
void print_vector(const vector<int>& vec) {
for (int i = 0; i < vec.size(); i++) {
cout << vec[i] << " ";
}
cout << endl;
}
int main() {
vector<int> vec {1, 2, 3, 4, 5};
// 调用函数print_vector,传入vector数组的引用
print_vector(vec);
return 0;
}
```
输出结果为:
```
1 2 3 4 5
```
在函数中,使用`const`关键字修饰vector数组的引用,可以避免在函数内部修改vector数组。这样可以增加程序的可读性和安全性。
2. 传入vector数组的指针
可以将vector数组作为函数参数,通过指针的方式传递给函数。这样可以在函数内部修改vector数组,并且不需要拷贝vector数组。例如:
```c++
#include <iostream>
#include <vector>
using namespace std;
// 接受vector数组的指针作为参数
void add_one_to_vector(vector<int>* vec) {
for (int i = 0; i < vec->size(); i++) {
(*vec)[i] += 1;
}
}
int main() {
vector<int> vec {1, 2, 3, 4, 5};
// 调用函数add_one_to_vector,传入vector数组的指针
add_one_to_vector(&vec);
// 输出修改后的vector数组
for (int i = 0; i < vec.size(); i++) {
cout << vec[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
2 3 4 5 6
```
在函数中,使用指针访问vector数组中的元素,需要使用`->`和`*`操作符。
阅读全文