【发布时间】:2016-12-15 18:41:10
【问题描述】:
std::vector<AClass> vect;
AClass Object0, Object1, Object2, Object3, Object4;
vect.push_back(Object0); // 0th
vect.push_back(Object1); // 1st
vect.push_back(Object2); // 2nd
vect.push_back(Object3); // 3rd
vect.push_back(Object4); // 4th
问题1(收缩):是否保证0th、1st和2nd元素受到保护(即;它们的值不会改变)在使用以下代码调整此向量的大小后:vect.resize(3)?
问题 2(扩展): 用代码 vect.resize(7) 扩展此向量后;
a. 是前 5 个元素(0th 到 4th) 保持不变?
b. 新添加的两个元素(5th 和 6th)会发生什么变化)?它们的默认值是什么?
【问题讨论】:
-
注意:Object0-4 被复制到向量中。因此向量中的值与原始值不同。