|
|
|
const CharT* data()const; | (1) | (noexcept since C++11) (constexpr since C++20) |
CharT* data()noexcept; | (2) | (since C++17) (constexpr since C++20) |
Returns a pointer to the underlying array serving as character storage. The pointer is such that the range
| (until C++11) |
| (since C++11) |
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. Ifempty() returnstrue, the pointer is a non-null pointer that should not be dereferenced. | (until C++11) |
The returned array is null-terminated, that is, Ifempty() returnstrue, the pointer points to a single null character. | (since C++11) |
The pointer obtained fromdata()
may be invalidated by:
operator[]()
,at(),front(),back(),begin(),end(),rbegin(),rend().data
has undefined behavior.data() +
size() to any value other thanCharT()
has undefined behavior.Contents |
(none)
A pointer to the underlying character storage.
data()[i]== operator[](i) for every | (until C++11) |
data()+ i==std::addressof(operator[](i)) for every | (since C++11) |
Constant.
#include <algorithm>#include <cassert>#include <cstring>#include <string> int main(){std::stringconst 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()));}
(DR*) | accesses the first character (public member function)[edit] |
(DR*) | accesses the last character (public member function)[edit] |
returns a non-modifiable standard C character array version of the string (public member function)[edit] | |
returns a pointer to the first character of a view (public member function of std::basic_string_view<CharT,Traits> )[edit] |