std::basic_string::data

From cppreference.com
 
 
 
std::basic_string
Member functions
basic_string::basic_string
basic_string::operator=
basic_string::assign
basic_string::get_allocator
Element access
basic_string::at
basic_string::operator[]
basic_string::front (C++11)
basic_string::back (C++11)
basic_string::data
basic_string::c_str
Iterators
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)
Capacity
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)
Operations
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
Search
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
Constants
basic_string::npos
Non-member functions
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)
Helper classes
hash<std::string>
hash<std::wstring>
hash<std::u32string>
hash<std::u16string>
(C++11)
 
const CharT* data() const;

Returns pointer to the underlying array serving as character storage. The pointer is such that the range [data(); data() + size()) is valid and the values in it correspond to the values stored in the string.

The returned array is not required to be null-terminated.

If empty() returns true, the pointer is a non-null pointer that should not be dereferenced.

(until C++11)

The returned array is null-terminated, that is, data() and c_str() perform the same function.

If empty() returns true, the pointer points to a single null character.

(since C++11)

The pointer obtained from data() may be invalidated by:

  • Passing a non-const reference to the string to any standard library function, or
  • Calling non-const member functions on the string, excluding operator[], at, front, back, begin, rbegin, end, and rend.

Modifying the character array accessed through data is undefined behavior.

Contents

[edit] Parameters

(none)

[edit] Return value

Pointer to the underlying character storage.

data()[i] == operator[](i) for every i in [0, size()).

(until C++11)

data() + i == &operator[](i) for every i in [0, size()].

(since C++11)

[edit] Complexity

Constant.

[edit] Exceptions

noexcept specification:  
noexcept
  (since C++11)

[edit] See also

(C++11)
accesses the first character
(public member function)
(C++11)
accesses the last character
(public member function)
returns a non-modifiable standard C character array version of the string
(public member function)