Пространства имён
Варианты
Действия

std::basic_string::data

Материал из cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::basic_string
Функции-члены
basic_string::basic_string
basic_string::operator=
basic_string::assign
basic_string::get_allocator
Доступ к элементам
basic_string::at
basic_string::operator[]
basic_string::front(C++11)
basic_string::back(C++11)
basic_string::data
basic_string::c_str
Итераторы
basic_string::begin
basic_string::cbegin

(C++11)
basic_string::end
basic_string::cend

(C++11)
basic_string::rbegin
basic_string::crbegin

(C++11)
basic_string::rend
basic_string::crend

(C++11)
Вместимость
basic_string::empty
basic_string::size
basic_string::length
basic_string::max_size
basic_string::reserve
basic_string::capacity
basic_string::shrink_to_fit(C++11)
Операции
basic_string::clear
basic_string::insert
basic_string::erase
basic_string::push_back
basic_string::pop_back(C++11)
basic_string::append
basic_string::operator+=
basic_string::compare
basic_string::replace
basic_string::substr
basic_string::copy
basic_string::resize
basic_string::swap
Поиск
basic_string::find
basic_string::rfind
basic_string::find_first_of
basic_string::find_first_not_of
basic_string::find_last_of
basic_string::find_last_not_of
Константы
basic_string::npos
Функции, не являющиеся членами
operator+
operator==
operator!=
operator<
operator>
operator<=
operator>=
swap(std::basic_string)
operator<<
operator>>
getline
stoi
stol
stoll
(C++11)
(C++11)
(C++11)
stoul
stoull
(C++11)
(C++11)
stof
stod
stold
(C++11)
(C++11)
(C++11)
to_string(C++11)
to_wstring(C++11)
Вспомогательные классы
hash<std::string>
hash<std::wstring>
hash<std::u32string>
hash<std::u16string>
(C++11)
 
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)

[править] Сложность

Константная

[править] Исключения

спецификация noexcept:  
noexcept
  

[править] См. также

(C++11)
получение первого символа
(public функция-член) [править]
(C++11)
получение последнего символа
(public функция-член) [править]
возвращает немодифицируемый массив символов С, содержащий символы строки
(public функция-член) [править]