在类中传递向量而不复制

Hig*_*ife 3 c++ vector

我有一堂课:

someclass 头代码:

class SomeClass{
    SomeClass();
    vector<int> somePointerVector;

    public:
    SomeClass(vector<int> &someVector);
};
Run Code Online (Sandbox Code Playgroud)

我对如何在这里使用向量有点困惑。我想设置 somePointerVector = someVector,这样我就可以使用 somePointerVector 操作 someVector 与类的其他部分中的数据,而且我也不想复制所有 someVectors 数据。

使用数组我会这样做:

int* somePointerArray = someArray;
Run Code Online (Sandbox Code Playgroud)

但是我将如何用向量来做到这一点?

Fre*_*Foo 5

somePointerVector一个参考并将它放在你的类的初始化列表中。(并请给它一个更好的名字。)

class SomeClass
{
    vector<int> &somePointerVector;

  public:
    SomeClass(vector<int> &someVector)
      : somePointerVector(someVector)
    {}
};
Run Code Online (Sandbox Code Playgroud)