std::literals::string_literals::operator""s
De cppreference.com
< cpp | string | basic string
Definido en el archivo de encabezado <string>
|
||
(1) | ||
std::string operator""s(const char *str, std::size_t len); |
(desde C++14) (hasta C++20) |
|
constexpr std::string operator""s(const char *str, std::size_t len); |
(desde C++20) | |
constexpr std::u8string operator""s(const char8_t *str, std::size_t len); |
(2) | (desde C++20) |
(3) | ||
std::u16string operator""s(const char16_t *str, std::size_t len); |
(desde C++14) (hasta C++20) |
|
constexpr std::u16string operator""s(const char16_t *str, std::size_t len); |
(desde C++20) | |
(4) | ||
std::u32string operator""s(const char32_t *str, std::size_t len); |
(desde C++14) (hasta C++20) |
|
constexpr std::u32string operator""s(const char32_t *str, std::size_t len); |
(desde C++20) | |
(5) | ||
std::wstring operator""s(const wchar_t *str, std::size_t len); |
(desde C++14) (hasta C++20) |
|
constexpr std::wstring operator""s(const wchar_t *str, std::size_t len); |
(desde C++20) | |
Forma un literal de cadena del tipo deseado.
1) Devuelve std::string{str, len}
2) Devuelve std::u8string{str, len}
3) Devuelve std::u16string{str, len}
4) Devuelve std::u32string{str, len}
5) Devuelve std::wstring{str, len}
Contenido |
[editar] Parámetros
str | - | Puntero al inicio del literal de array de caracteres sin formato. |
len | - | Longitud del literal de array de caracteres sin formato. |
[editar] Valor de retorno
El literal de cadena.
[editar] Notas
Estos operadores se declaran en el espacio de nombres std::literals::string_literals
, donde tanto literals
como string_literals
son espacios de nombres en línea. Puede obtenerse acceso a estos operadores con using namespace std::literals, using namespace std::string_literals y using namespace std::literals::string_literals.
std::chrono::duration también define operator""s
, para representar literales de segundos, pero es un literal aritmético: 10.0s y 10s son diez segundos, pero "10"s es una cadena.
[editar] Ejemplo
Ejecuta este código
#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"; }
Posible salida:
s1: 3 "abc" s2: 8 "abc^@^@def"
[editar] Véase también
Construye una cadena basic_string (función miembro pública) |