Тема: ітератори
В мене виникло запитаня.
#include <vector>
#include <string>
struct SomeStruct
{
std::vector<std::string>::iterator it;
std::string data;
};
int main(int argc, char *argv[])
{
std::vector<std::string> vec;
SomeStruct str;
// запишемо якісь елементи
vec.push_back("lalalalalala");
vec.push_back("hahahahahaha");
vec.push_back("bambambabambam");
str.data = "kokokokoko";
str.it = vec.begin(); // присвоїмо ітератор
// ще пододаємо елементів
vec.push_back("go go go");
vec.push_back("mu mu mu mu mu");
// якщо вектор не виділив достатнь пам'яті для цих п'яти
// елементів, то він створить більший масив і перепише туди вже
// існуючі елементи
str.data = *str.it;
// запитання: чи буде вказувакти str.it на тей самий перший елемент
// після перезапису масиву
return 0;
}