std::basic_string<CharT,Traits,Allocator>:: data
|
const
CharT
*
data
(
)
const
;
|
(1) |
(noexcept seit C++11)
(constexpr seit C++20) |
|
CharT
*
data
(
)
noexcept
;
|
(2) |
(seit C++17)
(constexpr seit C++20) |
Gibt einen Zeiger auf das zugrundeliegende Array zurück, das als Zeichenspeicher dient. Der Zeiger ist so beschaffen, dass der Bereich
|
|
(bis C++11) |
|
|
(seit C++11) |
ist gültig und die Werte darin entsprechen den in der Zeichenkette gespeicherten Werten.
|
Das zurückgegebene Array muss nicht nullterminiert sein. Wenn empty() true zurückgibt, ist der Zeiger ein nicht-null Zeiger, der nicht dereferenziert werden sollte. |
(bis C++11) |
|
Das zurückgegebene Array ist nullterminiert, das heißt,
Wenn empty() true zurückgibt, zeigt der Zeiger auf ein einzelnes Nullzeichen. |
(seit C++11) |
Der Zeiger, der von
data()
erhalten wird, kann ungültig werden durch:
- Übergeben einer nicht-konstanten Referenz auf den String an eine Standardbibliotheksfunktion, oder
-
Aufrufen nicht-konstanter Memberfunktionen auf dem String, ausgenommen
operator[](), at() , front() , back() , begin() , end() , rbegin() , rend() .
data
zugegriffen wird, hat undefiniertes Verhalten.
data() +
size()
auf einen anderen Wert als
CharT()
hat undefiniertes Verhalten zur Folge.
Inhaltsverzeichnis |
Parameter
(keine)
Rückgabewert
Ein Zeiger auf den zugrundeliegenden Zeichenspeicher.
|
data
(
)
[
i
]
==
operator
[
]
(
i
)
für jedes
|
(bis C++11) |
|
data
(
)
+
i
==
std::
addressof
(
operator
[
]
(
i
)
)
für jedes
|
(seit C++11) |
Komplexität
Konstante.
Beispiel
#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())); }
Siehe auch
|
(
DR*
)
|
greift auf das erste Zeichen zu
(öffentliche Elementfunktion) |
|
(
DR*
)
|
greift auf das letzte Zeichen zu
(öffentliche Elementfunktion) |
|
gibt eine nicht modifizierbare Standard-C-Zeichenarray-Version der Zeichenkette zurück
(öffentliche Elementfunktion) |
|
|
gibt einen Zeiger auf das erste Zeichen einer Ansicht zurück
(öffentliche Elementfunktion von
std::basic_string_view<CharT,Traits>
)
|