📜  将向量传递给C++中的函数(1)

📅  最后修改于: 2023-12-03 15:39:15.802000             🧑  作者: Mango

将向量传递给C++中的函数

在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;
}

输出结果与前一个例子相同。

引用传递的好处

引用传递有两个优点:

  1. 函数使用原始向量,而不是副本,因此函数可以直接修改原始向量;
  2. 引用传递比值传递更加高效,因为它避免了向量的复制。
总结

在C++程序中,我们可以将向量作为函数参数传递,并使用值传递和引用传递两种传递方式。引用传递是一个更好的选择,因为它避免了向量的复制,并允许函数直接修改原始向量。