如果我有这样的课程(请原谅粗略的语法):
class Z{
public:
void method1();
void method2(vector<X>& v);
void method3(vector<X>& v);
private:
std::vector<X> myvec;
}
基本上我想将 myvec 从 method1() 通过 method2() 传递到 method3() ,它将被修改。如果我的 method1() 看起来像这样:
void Z::method1(){
vector<X> v = z::myvec; //What do I have to do with this line so that the changes
method2(v); //made to v in method3() are permanent and not lost once
} //method1() returns?
void Z::method2(vector<X>& v){
method3(v);
}
//Modify vector<X> myvec
void Z::method3(vector<X>& v){
v.push_back(<something>);
}
如何更改 method3() 中的向量,以便在 method1() 返回后,对向量所做的更改是永久性的并且不会丢失?