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, dass der Bereich
|
|
(bis C++11) |
|
|
(seit C++11) |
gültig ist und die darin enthaltenen Werte den in der Zeichenkette gespeicherten Werten entsprechen.
|
Das zurückgegebene Array muss nicht null-terminiert sein. Wenn empty() |
(bis C++11) |
|
Das zurückgegebene Array ist null-terminiert, das heißt, Wenn empty() |
(seit C++11) |
Der von data() bezogene Zeiger kann ungültig werden durch:
- Übergabe einer nicht-konstanten Referenz auf die Zeichenkette an eine beliebige Standardbibliotheksfunktion, oder
- Aufruf nicht-konstanter Memberfunktionen auf der Zeichenkette, ausschließlich von
operator[](), at(), front(), back(), begin(), end(), rbegin(), rend().
data zugegriffen wird, hat undefiniertes Verhalten.data() + size() auf einen anderen Wert als CharT() gespeichert ist, hat undefiniertes Verhalten.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>
)
|