Quote Originally Posted by HighCommander4 View Post
I'm still curious as to why this is - why can't the elements be copied using placement new + copy constructor during reallocation?
Because:
Code:
vector<string> vec;
vec.push_back("hello world");
string & ref = vec[0];
vec[0] = "hello mars";
If you literally replaced vec[0] with a new string, where does ref point?

Also, some classes have very slow ctors, and very fast assignment operators.