У меня есть следующий код:
using namespace std;
vector<string*> v;
{
string s = "hello";
v.push_back(&s);
}
{
string ss = "goodbye";
v.push_back(&ss);
}
cout << v.at(0)->c_str() << endl;
cout << v.at(1)->c_str() << endl;
, который печатает
goodbye
goodbye
, если я уберу скобку области видимости, код напечатает
hello
goodbye
Что именнопроисходит, когда я покидаю первую область видимости, указатель на первую строку теперь указывает на вторую?