std::basic_string::data
const CharT* data() const; |
||
Возвращает указатель на лежащий в основе строки массив, выступающий хранилищем символов.
Если empty()
возвращает false, указатель будет таким, что диапазон [data(); data() + size())
является действительным и значения в нем соответствуют значениям, хранящимся в строке. Если empty()
возвращает true, указатель не является нулевым и поэтому не должен быть разыменован. (до C++11)
Указатель будет таким, что диапазон [data(); data() + size()]
является действительным и его значения соответствуют значениям, хранящимся в строке (включая дополнительный нулевой символ), даже если empty()
возвращает true. (начиная с C++11)
Содержание |
[править] Заметки
Запись в массив символов возвращенных data
вызовет неопределенное поведение.
Указатель полученный с помощью data()
не должен считаться действительным после любой неконстантной операции со строкой.
Начиная с С++11 data()
и c_str()
выполняют одну и ту же функцию.
[править] Параметры
(Нет)
[править] Возвращаемое значение
Указатель на лежащий в основе строки массив, такой, что data()[i] == operator[](i) для каждого i
в [0, size())
. (до C++11)
Указатель на лежащий в основе строки массив, такой, что data() + i == &operator[](i) для каждого i
в [0, size()]
. (начиная с C++11)
[править] Сложность
Константная
[править] Исключения
[править] См. также
(C++11) |
получение первого символа (public функция-член) |
(C++11) |
получение последнего символа (public функция-член) |
возвращает немодифицируемый массив символов С, содержащий символы строки (public функция-член) |