Гарантируется ли стандартом, что std::string
не будет возвращать выделенную память спонтанно, если переназначить из строки меньшего размера?
Другими словами:
std::string str = "Some quite long string, which needs a lot of memory";
str = "";
str = "A new quite long but smaller string"; // Guaranteed to not result in a heap allocation?
Я спрашиваю, потому что я зависим от этого, чтобы избежать фрагментации кучи.