[basic.string]
Изменение: .data() добавлен неконстантный член.
Обоснование: Отсутствие неконстантного .data()
отличия от аналогичного члена std::vector. Это изменение упорядочивает поведение данного международного стандарта.
Влияние на исходную функцию:
перегруженные функции с разными путями кода char* и const char* аргументами будут выполняться по-разному при вызове с неконстантным строковым .data() членом в этом международном стандарте.
int f(char *) = delete;
int f(const char *);
string s;
int x = f(s.data()); // ill-formed; previously well-formed