我对使用std::vector
. 如果我 std::vector
在内存中获得了一个带有未定义空间的对象的结构,如果它需要重新分配(std::vector
),那么该结构是否也被重新分配?还是只有std::vector
?
例如:
struct cluster{
int a;
int b;
struct cluster* parent;
vector<struct cluster> children;
}
struct cluster obj = {2,1,...};
struct cluster *pobj = &obj;
for(int i = 0; i < 100 ; i ++){
children.push_back(i); //The capacity will be increased progressly, no?
}
所以,问题是:是pobj==&obj
在for
循环的末尾吗?还是obj
因为子std::vector
对象的重新分配而重新分配?
我希望我能解释我的疑问。谢谢你的时间。