Изменение размера «std :: vector »; какие элементы затронуты?

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 (сжатие): Гарантировано ли, что элементы 0-й , 1-й и 2-й защищены (т.е. ; их значения не меняются) после изменения размера этого вектора с помощью этого кода: vect.resize (3) ?

Вопрос 2 (Расширение): После расширения этого вектора кодом vect.resize (7) ;
а. Сохраняются ли первые 5 элементов ( 0-й - 4-й ) без изменений?
b. Что происходит с двумя недавно добавленными элементами ( 5-м и 6-м )? Каковы их значения по умолчанию?

6
задан hkBattousai 15 December 2016 в 10:41
поделиться