Namespaces
Variants

std::experimental::basic_string_view<CharT,Traits>:: basic_string_view

From cppreference.net
constexpr basic_string_view ( ) noexcept ;
(1) (Bibliotheksgrundlagen TS)
constexpr basic_string_view ( const basic_string_view & other ) noexcept = default ;
(2) (Bibliotheksgrundlagen TS)
template < class Allocator >
basic_string_view ( const std:: basic_string < CharT, Traits, Allocator > & str ) noexcept ;
(3) (Bibliotheksgrundlagen TS)
constexpr basic_string_view ( const CharT * s, size_type count ) ;
(4) (Bibliotheksgrundlagen TS)
constexpr basic_string_view ( const CharT * s ) ;
(5) (Bibliotheksgrundlagen TS)
1) Standardkonstruktor. Konstruiert einen leeren basic_string_view .
2) Kopierkonstruktor. Erstellt eine Ansicht des gleichen Inhalts wie other .
3) Konstruiert eine Ansicht der ersten str. size ( ) Zeichen des Zeichenarrays, beginnend mit dem Element, auf das str. data ( ) zeigt.
4) Konstruiert eine Ansicht der ersten count Zeichen des Zeichenarrays, beginnend mit dem Element, auf das s zeigt. s kann Nullzeichen enthalten. Das Verhalten ist undefiniert, wenn [ s , s + count ) kein gültiger Bereich ist (selbst wenn der Konstruktor möglicherweise auf keine der Elemente dieses Bereichs zugreift).
5) Konstruiert eine Ansicht der nullterminierten Zeichenkette, auf die s zeigt, ohne das abschließende Nullzeichen. Die Länge der Ansicht wird wie durch Traits :: length ( s ) bestimmt. Das Verhalten ist undefiniert, wenn [ s , s + Traits :: length ( s ) ) kein gültiger Bereich ist (selbst wenn der Konstruktor möglicherweise nicht auf Elemente dieses Bereichs zugreift).

Inhaltsverzeichnis

Parameter

other - eine andere Ansicht, mit der die Ansicht initialisiert wird
str - ein C++-String-Objekt, mit dem die Ansicht initialisiert wird
s - Zeiger auf ein Zeichenarray oder einen C-String, mit dem die Ansicht initialisiert wird
count - Anzahl der in die Ansicht einzubeziehenden Zeichen

Ausnahmen

4,5) Wirft nichts.

Komplexität

1-4) Konstante.
5) Linear in der Länge von s .

Beispiel

#include <experimental/string_view>
#include <iostream>
int main()
{
    std::string cppstr = "Foo";
    char array[3] = {'B', 'a', 'r'};
    std::experimental::string_view cppstr_v(cppstr);
    std::experimental::string_view array_v(array, sizeof array);
    std::experimental::wstring_view wcstr_v = L"xyzzy";
    std::cout << cppstr_v << '\n'
              << array_v << '\n'
              << wcstr_v.size() << '\n';
}

Ausgabe:

Foo
Bar
5

Siehe auch

weist eine Ansicht zu
(öffentliche Elementfunktion)