std::string обычно содержит буфер для «оптимизации небольших строк» --- если строка меньше размера буфера, тогда не требуется выделение кучи.
std::string