首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调整嵌套std::vectors的大小

调整嵌套std::vectors的大小
EN

Stack Overflow用户
提问于 2013-06-01 04:46:38
回答 1查看 366关注 0票数 2

如果我有:

std::vector<std::vector<double> > vec

假设我为每个vec,vec1,...分配空间。vecvec.size()-1。

如果我打电话给你:

vec[3].resize(100)

有没有可能在vec[3]之前或之后分配的向量会被重新定位?

我问的原因是我有一个嵌套的向量,如上面的openmp部分所示。每个线程控制vec[threadnum]。这些线程做了一些大小调整。我想知道是否有可能一个线程调整vec[thread]的大小,这会导致其他线程可能发生移位。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-01 04:50:35

执行向量的resize (或调用任何其他方法)时,不会修改其他向量。

实际上,当您调用对象的方法时,其他不相关的对象不会更改其状态。

如果我们假设所有的向量都将它们的数据存储在公共的连续存储块中,那么我们这里有向量的事实可能会令人困惑。但事实并非如此。每个向量都有自己的内存区,并且每个向量都可以独立地重新分配内存(“父”向量根本不知道重定位)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16865717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档