Namespaces
Variants

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

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

Findet das letzte Zeichen, das einem der Zeichen in der gegebenen Zeichenfolge entspricht. Der genaue Suchalgorithmus ist nicht spezifiziert. Die Suche berücksichtigt nur das Intervall [ 0 , pos ] . Wenn das Zeichen nicht im Intervall vorhanden ist, wird npos zurückgegeben.

1) Findet das letzte Vorkommen eines beliebigen Zeichens aus v in dieser Ansicht, endend an Position pos .
2) Entspricht find_last_of ( basic_string_view ( std:: addressof ( ch ) , 1 ) , pos ) .
3) Entspricht find_last_of ( basic_string_view ( s, count ) , pos ) .
4) Entspricht find_last_of ( basic_string_view ( s ) , pos ) .

Inhaltsverzeichnis

Parameter

v - Ansicht, nach der gesucht werden soll
pos - Position, an der die Suche beendet werden soll
count - Länge der Zeichenkette, nach der gesucht werden soll
s - Zeiger auf eine Zeichenkette, nach der gesucht werden soll
ch - Zeichen, nach dem gesucht werden soll

Rückgabewert

Position des letzten Vorkommens eines beliebigen Zeichens der Teilzeichenkette, oder npos falls kein solches Zeichen gefunden wurde.

Komplexität

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

Beispiel

#include <string_view>
using namespace std::literals;
constexpr auto N = std::string_view::npos;
static_assert(
    5 == "delete"sv.find_last_of("cdef"sv) &&
      //       └────────────────────┘
    N == "double"sv.find_last_of("fghi"sv) &&
      //
    0 == "else"sv.find_last_of("bcde"sv, 2 /* Position [0..2]: "els" */) &&
      //  └────────────────────────┘
    N == "explicit"sv.find_last_of("abcd"sv, 4 /* Position [0..4]: "expli" */) &&
      //
    3 == "extern"sv.find_last_of('e') &&
      //     └────────────────────┘
    N == "false"sv.find_last_of('x') &&
      //
    0 == "inline"sv.find_last_of('i', 2 /* Position [0..2]: "inl" */) &&
      //  └───────────────────────┘
    N == "mutable"sv.find_last_of('a', 2 /* Position [0..2]: "mut" */) &&
      //
    3 == "namespace"sv.find_last_of("cdef", 3 /* Position [0..3]: "name" */, 3 /* "cde" */) &&
      //     └─────────────────────────┘
    N == "namespace"sv.find_last_of("cdef", 3 /* Position [0..3]: "name" */, 2 /* "cd" */)
);
int main() {}

Siehe auch

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