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 ;
(depuis C++17)
(constexpr depuis C++20)

Retourne un std::basic_string_view , construit comme par std:: basic_string_view < CharT, Traits > ( data ( ) , size ( ) ) .

Table des matières

Paramètres

(aucun)

Valeur de retour

Une vue de chaîne représentant l'intégralité du contenu de la chaîne.

Notes

Il est de la responsabilité du programmeur de s'assurer que la vue de chaîne résultante ne survive pas à la chaîne.

std::string get_string();
int f(std::string_view sv);
int x = f(get_string()); // Correct
std::string_view sv = get_string(); // Incorrect : contient un pointeur suspendu

Exemple

#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 = "ラーメン";   // chaîne étroite
    std::wstring wcstr = L"ラーメン";  // chaîne large
    // Conversion implicite de string à string_view
    // via std::string::operator string_view :
    std::string_view cppstr_v = cppstr;
    std::cout << cppstr_v << '\n'
              << cppstr_v.size() << " unités de code\n";
    // Conversion implicite de wstring à wstring_view
    // via std::wstring::operator wstring_view :
    show_wstring_size(wcstr);
}

Sortie :

ラーメン
12 unités de code
4 points de code

Voir aussi

construit un basic_string_view
(fonction membre publique de std::basic_string_view<CharT,Traits> )