Namespaces
Variants

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

Aus de.cppreference.net
 
 
 
 
constexpr size_type rfind( basic_string_view v, size_type pos = npos ) const noexcept;
(1) (seit C++17)
constexpr size_type rfind( CharT ch, size_type pos = npos ) const noexcept;
(2) (seit C++17)
constexpr size_type rfind( const CharT* s, size_type pos, size_type count ) const;
(3) (seit C++17)
constexpr size_type rfind( const CharT* s, size_type pos = npos ) const;
(4) (seit C++17)

Findet die letzte Teilzeichenkette, die gleich der gegebenen Zeichenfolge ist. Die Suche beginnt bei pos und verläuft in Richtung des Anfangs (daher kann die gefundene Teilzeichenkette, falls vorhanden, nicht an einer Position hinter pos beginnen). Wenn npos oder ein Wert, der nicht kleiner als size()- 1 ist, als pos übergeben wird, wird die gesamte Zeichenkette durchsucht.

1) Findet das letzte Vorkommen von v in dieser Ansicht, beginnend an Position pos.
2) Äquivalent zu rfind(basic_string_view(std::addressof(ch), 1), pos).
3) Äquivalent zu rfind(basic_string_view(s, count), pos).
4) Äquivalent zu rfind(basic_string_view(s), pos).

Parameter

v - Ansicht, nach der gesucht werden soll
pos - Position, an der die Suche beginnen soll
count - Länge des zu suchenden Teilstrings
s - Zeiger auf einen zu suchenden Zeichenstring
ch - zu suchendes Zeichen

Rückgabewert

Position des ersten Zeichens der gefundenen Teilzeichenkette oder npos falls keine solche Teilzeichenkette gefunden wurde.

Komplexität

O( size() * v. size() ) im schlimmsten Fall.

Beispiel

#include <string_view>
int main()
{
    using namespace std::literals;
    constexpr auto N = std::string_view::npos;
    static_assert(true
        && (6 == "AB AB AB"sv.rfind("AB"))
        && (6 == "AB AB AB"sv.rfind("ABCD", N, 2))
        && (3 == "AB AB AB"sv.rfind("AB", 5))
        && (0 == "AB CD EF"sv.rfind("AB", 0))
        && (2 == "B AB AB "sv.rfind("AB", 2))
        && (N == "B AB AB "sv.rfind("AB", 1))
        && (5 == "B AB AB "sv.rfind('A'))
        && (4 == "AB AB AB"sv.rfind('B', 4))
        && (N == "AB AB AB"sv.rfind('C'))
    );
}

Siehe auch

Zeichen in der Ansicht finden
(öffentliche Elementfunktion)
erstes Vorkommen von Zeichen finden
(öffentliche Elementfunktion)
letztes Vorkommen von Zeichen finden
(öffentliche Elementfunktion)
erste Abwesenheit von Zeichen finden
(öffentliche Elementfunktion)
letzte Abwesenheit von Zeichen finden
(öffentliche Elementfunktion)
letztes Vorkommen eines Teilstrings finden
(öffentliche Elementfunktion von std::basic_string<CharT,Traits,Allocator> )