这段代码会使这些矢量对齐吗?

jok*_*oon 1 c++ stl alignment

比方说我有:

vector<T *> vect;
Run Code Online (Sandbox Code Playgroud)

我知道这不是明显的方法,但我有一个API可以做到这一点,所以我不能决定使用它vector<T>.

所以当我把对象放进去的时候我会:

vect.push_back(new T);
Run Code Online (Sandbox Code Playgroud)

这段代码是否会确保此向量是连续对齐的,因为它是指针的向量?这个容器会决定new操作员的行为吗?

编辑:我还需要打电话给delete那些吗?

Alo*_*ave 5

这个代码是否会确保这个向量是对齐的,因为它是指针的向量?

不确定你对这个上下文中的align的理解是什么,但是情况类似于指针数组,其中每个指针都被分配了动态内存.指针数组位于连续的位置,每个指针都指向位于堆上某处的内存.
在指针元素的向量的情况下,这同样适用.

我还需要打电话给delete那些吗?

是的,您需要delete明确地调用每个元素.
标准库容器不负责在元素为指针的情况下释放元素的内存.

好读:
vector :: erase()会破坏被删除的对象吗?