Нет, поскольку в спецификации C ++ 98 четко указано, что вы получаете: непрерывный массив символов.
Внутренняя реализация хранилища строк не обязательно отражается в результатах метода.Если строка не хранится в одной части, методы должны убедиться, что вы получите то, что хотите.Это может означать, что весь контент копируется в другое место.
По этой причине вам не следует изменять полученное строковое представление.
Вы и лицо, реализующее методыоба должны внимательно прочитать стандарт, описывающий, что вы получаете.