std::basic_string<CharT,Traits,Allocator>::data
const CharT* data() const;
|
(1) | (noexcept depuis C++11) (constexpr depuis C++20) |
CharT* data() noexcept;
|
(2) | (depuis C++17) (constexpr depuis C++20) |
Retourne un pointeur vers le tableau sous-jacent servant de stockage de caractères. Le pointeur est tel que la plage
|
|
(jusqu'à C++11) |
|
|
(depuis C++11) |
est valide et que les valeurs qu'elle contient correspondent aux valeurs stockées dans la chaîne.
|
Le tableau retourné n'est pas nécessairement terminé par un caractère nul. Si empty() retourne |
(jusqu'à C++11) |
|
Le tableau retourné est terminé par un caractère nul, c'est-à-dire que Si empty() retourne |
(depuis C++11) |
Le pointeur obtenu à partir de data() peut être invalidé par :
- Passer une référence non-const à la chaîne à n'importe quelle fonction de la bibliothèque standard, ou
- Appeler des fonctions membres non-const sur la chaîne, à l'exception de
operator[](), at(), front(), back(), begin(), end(), rbegin(), rend().
data a un comportement indéfini.data() + size() en une valeur autre que CharT() a un comportement indéfini.Paramètres
(aucun)
Valeur de retour
Un pointeur vers le stockage de caractères sous-jacent.
|
data
(
)
[
i
]
==
operator
[
]
(
i
)
pour chaque
|
(jusqu'à C++11) |
|
data
(
)
+
i
==
std::
addressof
(
operator
[
]
(
i
)
)
pour chaque
|
(depuis C++11) |
Complexité
Constante.
Exemple
#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())); }
Voir aussi
|
(
DR*
)
|
accède au premier caractère
(fonction membre publique) |
|
(
DR*
)
|
accède au dernier caractère
(fonction membre publique) |
|
retourne une version non modifiable du tableau de caractères C standard de la chaîne
(fonction membre publique) |
|
|
retourne un pointeur vers le premier caractère d'une vue
(fonction membre publique de
std::basic_string_view<CharT,Traits>
)
|