📅  最后修改于: 2023-12-03 15:39:15.802000             🧑  作者: Mango
在C++程序中,我们经常需要传递向量(vector)给函数作为参数。当我们使用向量作为函数参数时,我们需要考虑向量的类型和大小,并且需要以适当的方式传递向量。
让我们首先看一下如何在函数中定义向量参数:
void functionName(std::vector<int> vec){
//函数代码
}
在这个例子中,我们定义了一个名为functionName
的函数,它有一个向量vec
作为参数。该向量是一个包含多个int类型元素的向量。
现在,我们需要了解如何将向量传递给函数。向量可以通过值传递和引用传递两种方式传递。
值传递是指将向量作为参数传递给函数,就像传递普通变量一样。在这种情况下,函数将获得向量的副本,并对副本进行操作,不会影响原始向量。
下面是一个使用值传递的向量的例子:
#include <iostream>
#include <vector>
void displayVector(std::vector<int> vec){
for(int i = 0; i < vec.size(); i++){
std::cout << vec[i] << " ";
}
std::cout << std::endl;
}
int main(){
std::vector<int> a = {1,2,3,4,5};
displayVector(a);
return 0;
}
输出结果为:
1 2 3 4 5
引用传递是指将向量作为参数传递给函数,但在函数中使用的是原始向量。这种传递方式比值传递更有效,因为它避免了向量的复制,同时也允许函数修改原始向量。
下面是使用引用传递的向量的例子:
#include <iostream>
#include <vector>
void displayVector(std::vector<int>& vec){
for(int i = 0; i < vec.size(); i++){
std::cout << vec[i] << " ";
}
std::cout << std::endl;
}
int main(){
std::vector<int> a = {1,2,3,4,5};
displayVector(a);
return 0;
}
输出结果与前一个例子相同。
引用传递有两个优点:
在C++程序中,我们可以将向量作为函数参数传递,并使用值传递和引用传递两种传递方式。引用传递是一个更好的选择,因为它避免了向量的复制,并允许函数直接修改原始向量。