假设我有很大的多级向量。(这只是多级包含对象树的示例)
vector<vector<vector<int>>> vec1 = getBigVector();
如果我需要传递一个元素,我认为它会导致某种复制。
vector<vector<int>> vec2 = vec1[2];
vector<vector<int>> vec3 = vec1[3];
看起来并不比引用更有效。据我所知,通常选择 C++ 是因为它的效率,而且我听说 C++ 被设计为更喜欢值类型对象。但是,对于具有许多元素的容器来说仍然如此吗?容器包含另一个容器怎么样?
有没有什么隐藏的秘密可以让操作变得高效?或者我应该只是引用它而不是复制它?
更新
整个对象树需要频繁的变异。甚至树本身也需要变异。