访问vector的vector中的c++ vector而不复制它
Accessing a C++ vector in a vector of vectors without copying it
如果我创建一个向量的向量:
std::vector<std::vector<int>> myVectorOfVectors;
然后填充一些东西:
std::vector<int> myVector1;
myVector1.push_back(1);
myVector1.push_back(2);
myVector1.push_back(3);
myVector1.push_back(4);
myVectorOfVectors.push_back(myVector1);
std::vector<int> myVector2;
myVector2.push_back(1);
myVector2.push_back(2);
myVector2.push_back(3);
myVector2.push_back(4);
myVectorOfVectors.push_back(myVector2);
std::vector<int> myVector3;
myVector3.push_back(1);
myVector3.push_back(2);
myVector3.push_back(3);
myVector3.push_back(4);
myVectorOfVectors.push_back(myVector3);
我如何分配myVectorOfVectors的任何给定元素到一个变量而不复制它?例如,我很确定下面的代码将复制索引N处的向量:
std::vector<int> myVector = myVectorOfVectors[N];
是否有某种方法可以获得索引N的对象指针,而不是索引N的对象副本?我该怎么做呢?
使用引用
std::vector<int>& myVector = myVectorOfVectors[N];
使用auto&
,您将不必重复类型:
auto& myVector = myVectorOfVectors[N];
相关文章:
- 创建一个没有复制构造函数的类的 std::vector 的 std::vector
- 使用赋值运算符复制 std::vector
- 除了 std::vector 之外,是否有一个 std 容器不会复制和销毁作为类的元素?
- 将 Vector<String > 元素复制到其他 Vector<String>* (1 作为
- push_back std::vector,则重复调用复制构造函数
- 如何使用 CUDA 将 std::vector<std::string> 复制到 GPU 设备
- 双重调用传递给 std::vector::emplace_back 的类的复制构造函数
- std::vector 是否有用于引用的复制构造函数?
- 如何禁用Visual Studio警告C4244,用于std::vector复制或使用隐式缩小转换进行赋值
- 根据条件将元素从 std::vector 复制到 std::set 但它崩溃了
- 将数据从 std::vector 复制到 Eigen's MatrixXd in C++
- 将std :: vector复制到std :: array
- 仅在发布版本中出错,从 std::vector 复制结构
- 将std::vector复制到qvector
- 如何将boost::numeric::ublas::vector复制到矩阵
- c++ vector复制赋值,调用其元素的复制机制
- 有趣的std::从std::vector复制到std::string的行为
- 使用memcpy将std::vector复制到protobuf中的重复字段
- 将 std::map<int, vector> 复制到 std::<int>map<std:string, vector<int>>
- 基于条件从vector复制元素