c++ - 在类中传递 vector 而不复制

标签 c++ vector

我有一个类:

一些类头代码:

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

    public:
    SomeClass(vector<int> &someVector);
};

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

对于数组,我会用:

int* somePointerArray = someArray;

但是我该如何使用 vector 来实现这一点呢?

最佳答案

somePointerVector 设为引用并将其放入initialization list你类的。 (请给它一个更好的名字。)

class SomeClass
{
    vector<int> &somePointerVector;

  public:
    SomeClass(vector<int> &someVector)
      : somePointerVector(someVector)
    {}
};

关于c++ - 在类中传递 vector 而不复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9243229/

相关文章:

c++11 - unique_ptr 向量的取消引用包装器?

algorithm - 存储和比较多维向量

c++ - 访问 C++ 类成员对象,但不允许覆盖它

c++ - 为什么二进制值和字符之间的转换不一致?

c++ - 输入缓冲和屏蔽密码输入 C++

c++ - 初始化多维 vector

c++ - 如何对 <class*> 类型的 Vector 进行排序?

c++ - YAML 未解析的外部符号 (yaml-cpp)

c++ - "vector iterator not incrementable"set_intersection 运行时错误

c++ - 无法将带有 NULL 删除器的 std::unique_ptr move 到 std::shared_ptr?