Can I break a valid C++03 program by replacing std::vector::push_back with emplace_back and compiling it with C++ 11 compiler? From reading e
std::vector::push_back
emplace_back
e
If you don't have crazy side-effects in copy constructor of the objects that you hold in your vector, then no.
emplace_back was introduced to optimise-out unnecessary copying and moving.