繁体   English   中英

在向量的向量中访问C ++向量而不复制它

[英]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];

注意:需要c ++ 11。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM