C++怎么将Vector和String变量通过地址传入函数中,使它可以被函数更改

C++如何将Vector和String变量通过地址传入函数中,使它可以被函数更改
C++如何将Vector和String变量通过地址传入函数中,使它可以被函数更改


***
void a(vector <int> p)
{
  for (int i=0;i<p.size();p++)
  {
  p[i]=i;
  }
}

int main()
{
  vector <int > p(10);
  b(p);
}


希望a中包含0123456789,用上面的代码是实现不了的,怎样修改函数的参数引用,不要将p申请为全局变量。

------解决方案--------------------
void a(vector <int>& p)

------解决方案--------------------
C/C++ code

#include <vector>
#include <iostream>
void a(std::vector<int>&vec)
{
    for (int i=0;i<vec.size();++i)
    {
        vec.at(i)=i;
    }
}
int main()
{
    std::vector <int > p(10);
    a(p);
    for (int i=0;i<p.size();++i)
    {
        printf("%3d",p.at(i));
    }
    system("pause");
    return 0;
}