【发布时间】:2013-10-04 22:19:14
【问题描述】:
我需要动态创建对象并希望使用向量来做到这一点。我知道指向对象的指针将存储在向量中,它们将是连续的,但实际对象不会。我可以按照Create objects in pre-allocated memory 中的方式进行操作。但是,我更喜欢使用向量。有什么办法可以做到吗?
【问题讨论】:
-
一模一样。请记住不要更改向量的大小,因为内存会被重新分配,这会导致所有指向这些对象的指针失效。
-
在向量中存储对象而不是指针,它们保证是连续的。
-
如果你使用
vector<T>而不是vector<T*>,对象将在内存中连续布局。 -
是使用连续内存的自定义分配器吗?