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) (depuis C++17)
constexpr size_type
find_last_of ( CharT ch, size_type pos = npos ) const noexcept ;
(2) (depuis C++17)
constexpr size_type
find_last_of ( const CharT * s, size_type pos, size_type count ) const ;
(3) (depuis C++17)
constexpr size_type
find_last_of ( const CharT * s, size_type pos = npos ) const ;
(4) (depuis C++17)

Trouve le dernier caractère égal à l'un des caractères dans la séquence de caractères donnée. L'algorithme de recherche exact n'est pas spécifié. La recherche ne considère que l'intervalle [ 0 , pos ] . Si le caractère n'est pas présent dans l'intervalle, npos sera retourné.

1) Trouve la dernière occurrence de l'un des caractères de v dans cette vue, se terminant à la position pos .
2) Équivalent à find_last_of ( basic_string_view ( std:: addressof ( ch ) , 1 ) , pos ) .
3) Équivalent à find_last_of ( basic_string_view ( s, count ) , pos ) .
4) Équivalent à find_last_of ( basic_string_view ( s ) , pos ) .

Table des matières

Paramètres

v - vue à rechercher
pos - position à laquelle la recherche doit se terminer
count - longueur de la chaîne de caractères à rechercher
s - pointeur vers une chaîne de caractères à rechercher
ch - caractère à rechercher

Valeur de retour

Position de la dernière occurrence de n'importe quel caractère de la sous-chaîne, ou npos si aucun caractère correspondant n'est trouvé.

Complexité

O( size() * v. size() ) au pire.

Exemple

#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 /* pos [0..2]: "els" */) &&
      //  └────────────────────────┘
    N == "explicit"sv.find_last_of("abcd"sv, 4 /* pos [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 /* pos [0..2]: "inl" */) &&
      //  └───────────────────────┘
    N == "mutable"sv.find_last_of('a', 2 /* pos [0..2]: "mut" */) &&
      //
    3 == "namespace"sv.find_last_of("cdef", 3 /* pos [0..3]: "name" */, 3 /* "cde" */) &&
      //     └─────────────────────────┘
    N == "namespace"sv.find_last_of("cdef", 3 /* pos [0..3]: "name" */, 2 /* "cd" */)
);
int main() {}

Voir aussi

rechercher des caractères dans la vue
(fonction membre publique)
rechercher la dernière occurrence d'une sous-chaîne
(fonction membre publique)
rechercher la première occurrence de caractères
(fonction membre publique)
rechercher la première absence de caractères
(fonction membre publique)
rechercher la dernière absence de caractères
(fonction membre publique)
rechercher la dernière occurrence de caractères
(fonction membre publique de std::basic_string<CharT,Traits,Allocator> )