Почему не string :: data () Предоставляет изменяемый символ *?

В C ++ 11 array, string, а такжеvector все получилиdata метод, который:

Возвращает указатель на базовый массив, служащий хранилищем элементов. Указатель таков, что диапазон data(); data() + size()) всегда допустимый диапазон, даже если контейнер пуст. Источни]

Этот метод предоставляется в изменяемой иconst версия для всех применимых контейнеров, например:

T* vector<T>::data();
const T* vector<T>::data() const;

Все применимые контейнеры, кромеstring который только обеспечиваетconst версия:

const char* string::data() const;

Что здесь случилось? Почему сделалstring получить шорт, когдаchar* string::data() было бы так полезно?

Ответы на вопрос(2)

Ваш ответ на вопрос