值传递: 形参改变不影响实参
void fun(vector<int>v){}
int main(){vector<int>v;fun(v)}
引用传递 :形参改变影响实参
void fun(vector<int>&v){}
int main(){vector<int>v;fun(v);}
指针传递:形参改变影响实参
void fun(vector<int>*v){}
int main(){vector<int>v;fun(&v)}
std::string也是同样的道理