std::literals::string_literals::operator""s
De cppreference.com
<tbody>
</tbody>
| Dclar dans l'en-tte <string>
|
||
string operator "" s(const char *str, std::size_t len); |
(1) | (depuis C++14) |
u8string operator "" s(const char8_t *str, std::size_t len); |
(2) | |
u16string operator "" s(const char16_t *str, std::size_t len); |
(3) | (depuis C++14) |
u32string operator "" s(const char32_t *str, std::size_t len); |
(4) | (depuis C++14) |
wstring operator "" s(const wchar_t *str, std::size_t len); |
(5) | (depuis C++14) |
Forme une chane de caractres du type dsir.
1) retourne
std::string{str, len}2) retourne
std::u8string{str, len}3) retourne
std::u16string{str, len}4) retourne
std::u32string{str, len}5) retourne
std::wstring{str, len}Paramtres
| str | - | pointeur vers le dbut de la chane de caractres brute |
| len | - | longueur de la chane de caractres brute |
Valeur de retour
La chane de caractres.
Notes
Ces oprateurs sont dclars dans l'espace de nommage std::literals::string_literals, o literals et string_literals sont inline. L'accs ces oprateurs peut tre obtenu via using namespace std::literals, using namespace std::string_literals, et using namespace std::literals::string_literals.
std::chrono::duration dfinit galement operator""s, pour reprsenter les secondes littrales, mais c'est une littrale arithmtique: 10.0s et 10s reprsentent dix secondes, mais "10"s est une chane de caractres.
Exemple
#include <string>
#include <iostream>
int main()
{
using namespace std::string_literals;
std::string s1 = "abc\0\0def";
std::string s2 = "abc\0\0def"s;
std::cout << "s1: " << s1.size() << " \"" << s1 << "\"\n";
std::cout << "s2: " << s2.size() << " \"" << s2 << "\"\n";
}
Rsultat possible :
s1: 3 "abc"
s2: 8 "abc^@^@def"
See also
construit un basic_string Original: constructs a basic_string The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction membre publique) | |