Namespaces
Variants

std::basic_string<CharT,Traits,Allocator>:: operator basic_string_view

From cppreference.net
std::basic_string
operator std:: basic_string_view < CharT, Traits > ( ) const noexcept ;
(desde C++17)
(constexpr desde C++20)

Retorna un std::basic_string_view , construido como si fuera mediante std:: basic_string_view < CharT, Traits > ( data ( ) , size ( ) ) .

Contenidos

Parámetros

(ninguno)

Valor de retorno

Una vista de cadena que representa el contenido completo de la cadena.

Notas

Es responsabilidad del programador garantizar que la vista de cadena resultante no sobreviva a la cadena.

std::string get_string();
int f(std::string_view sv);
int x = f(get_string()); // CORRECTO
std::string_view sv = get_string(); // Incorrecto: contiene un puntero colgante

Ejemplo

#include <iostream>
#include <string>
#include <string_view>
void show_wstring_size(std::wstring_view wcstr_v)
{
    std::cout << wcstr_v.size() << " code points\n";
}
int main()
{
    std::string cppstr = "ラーメン";   // cadena estrecha
    std::wstring wcstr = L"ラーメン";  // cadena ancha
    // Conversión implícita de string a string_view
    // mediante std::string::operator string_view:
    std::string_view cppstr_v = cppstr;
    std::cout << cppstr_v << '\n'
              << cppstr_v.size() << " code units\n";
    // Conversión implícita de wstring a wstring_view
    // mediante std::wstring::operator wstring_view:
    show_wstring_size(wcstr);
}

Salida:

ラーメン
12 code units
4 code points

Véase también

construye un basic_string_view
(función miembro pública de std::basic_string_view<CharT,Traits> )