std::basic_string<CharT,Traits,Allocator>:: data
|
const
CharT
*
data
(
)
const
;
|
(1) |
(noexcept начиная с C++11)
(constexpr начиная с C++20) |
|
CharT
*
data
(
)
noexcept
;
|
(2) |
(начиная с C++17)
(constexpr начиная с C++20) |
Возвращает указатель на базовый массив, используемый для хранения символов. Указатель таков, что диапазон
|
|
(до C++11) |
|
|
(начиная с C++11) |
является допустимым, и значения в нем соответствуют значениям, хранящимся в строке.
|
Возвращаемый массив не обязательно должен быть нуль-терминированным. Если empty() возвращает true , указатель является ненулевым, но его не следует разыменовывать. |
(до C++11) |
|
Возвращаемый массив является нуль-терминированным, то есть
Если empty() возвращает true , указатель указывает на одиночный нулевой символ. |
(начиная с C++11) |
Указатель, полученный из
data()
, может стать недействительным из-за:
- Передача неконстантной ссылки на строку в любую функцию стандартной библиотеки, или
-
Вызов неконстантных функций-членов строки, за исключением
operator[](), at() , front() , back() , begin() , end() , rbegin() , rend() .
data
, приводит к неопределённому поведению.
data() +
size()
на любое значение, отличное от
CharT()
приводит к неопределенному поведению.
Содержание |
Параметры
(нет)
Возвращаемое значение
Указатель на базовое хранилище символов.
|
data
(
)
[
i
]
==
operator
[
]
(
i
)
для каждого
|
(до C++11) |
|
data
(
)
+
i
==
std::
addressof
(
operator
[
]
(
i
)
)
для каждого
|
(начиная с C++11) |
Сложность
Константа.
Пример
#include <algorithm> #include <cassert> #include <cstring> #include <string> int main() { std::string const s("Emplary"); assert(s.size() == std::strlen(s.data())); assert(std::equal(s.begin(), s.end(), s.data())); assert(std::equal(s.data(), s.data() + s.size(), s.begin())); assert('\0' == *(s.data() + s.size())); }
` сохранены без изменений. C++ специфические термины и код не переводились.
Смотрите также
|
(
DR*
)
|
обращается к первому символу
(публичная функция-член) |
|
(
DR*
)
|
обращается к последнему символу
(публичная функция-член) |
|
возвращает неизменяемую версию строки в виде массива символов стандартного C
(публичная функция-член) |
|
|
возвращает указатель на первый символ представления
(публичная функция-член
std::basic_string_view<CharT,Traits>
)
|