В С++ reference c_str()
в std::string
появляется следующее:
Возвращаемое значение
Указатель на базовое хранилище символов.data()[i] == operator[](i) for every i in [0, size())
(до С++ 11)data() + i == &operator[](i) for every i in [0, size()]
(поскольку С++ 11)
Я не понимаю разницу между ними, за исключением увеличения диапазона на один элемент с С++ 11.
Не является ли прежнее утверждение data()[i] == operator[](i)
истинным для последнего?