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