Я хотел проверить, если размер моей строки изменится, адрес строки изменится или нет.Поэтому я написал следующую программу, в которой начальная емкость равнялась 1, а затем изменилась на 30, и я предполагаю, что при изменении емкости строка будет перемещать адреса, но этого не произошло.
Может кто-нибудь объяснить, почемуто есть?
string s = "1";
string& s1 = s;
cout << &s << " capacity is " << s.capacity() << endl;
cout << &s1 << endl;
s = "sdhflshdgfljasdjflkasdfhalsjdf";
cout << &s << " capacity is " << s.capacity() << endl;
cout << &s1 << endl;
Вывод
0x7ffc11fc08d0 capacity is 1
0x7ffc11fc08d0
0x7ffc11fc08d0 capacity is 30
0x7ffc11fc08d0