Векторный новый метод data()
предоставляет версию const и non-const.
Однако метод string data()
предоставляет только версию const.
Я думаю, что они изменили формулировку о std::string
, чтобы теперь символы были смежными (например, std::vector
).
Был ли std::string::data
просто пропущен? Или это хорошая причина только разрешить доступ const к строкам, лежащим в основе символов?
note: std::vector::data
имеет другую приятную функцию, но не undefined поведение вызывает data()
на пустой вектор. Если &vec.front()
- это undefined поведение, если оно пустое.