传入函数时如何更新向量?

1 c++ vector

当我有这段代码时:

int push666 (vector<int> vect){

    vect.push_back(666);
}

int main()
{

    vector<int> a;
    a.reserve(1);
    push666(a);

    cout << a[0];

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

cout 将简单地打印出一些垃圾值。函数似乎对向量没有持久影响。我该怎么办?

R S*_*ahu 5

您通过引用而不是通过值传递向量。

int push666 (vector<int>& vect){  
                    // ^^^  
    vect.push_back(666);
}
Run Code Online (Sandbox Code Playgroud)