std::basic_string_view<CharT,Traits>:: find_last_of
|
constexpr
size_type
find_last_of ( basic_string_view v, size_type pos = npos ) const noexcept ; |
(1) | (начиная с C++17) |
|
constexpr
size_type
find_last_of ( CharT ch, size_type pos = npos ) const noexcept ; |
(2) | (начиная с C++17) |
|
constexpr
size_type
find_last_of ( const CharT * s, size_type pos, size_type count ) const ; |
(3) | (начиная с C++17) |
|
constexpr
size_type
find_last_of ( const CharT * s, size_type pos = npos ) const ; |
(4) | (начиная с C++17) |
Находит последний символ, равный одному из символов в заданной последовательности. Точный алгоритм поиска не указан. Поиск рассматривает только интервал
[
0
,
pos
]
. Если символ отсутствует в интервале, будет возвращено значение
npos
.
Содержание |
Параметры
| v | - | представление для поиска |
| pos | - | позиция, на которой должен завершиться поиск |
| count | - | длина строки символов для поиска |
| s | - | указатель на строку символов для поиска |
| ch | - | символ для поиска |
Возвращаемое значение
Позиция последнего вхождения любого символа из подстроки, или npos если такой символ не найден.
Сложность
O( size() * v. size() ) в худшем случае.
Пример
#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 /* позиция [0..2]: "els" */) && // └────────────────────────┘ N == "explicit"sv.find_last_of("abcd"sv, 4 /* позиция [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 /* позиция [0..2]: "inl" */) && // └───────────────────────┘ N == "mutable"sv.find_last_of('a', 2 /* позиция [0..2]: "mut" */) && // 3 == "namespace"sv.find_last_of("cdef", 3 /* позиция [0..3]: "name" */, 3 /* "cde" */) && // └─────────────────────────┘ N == "namespace"sv.find_last_of("cdef", 3 /* позиция [0..3]: "name" */, 2 /* "cd" */) ); int main() {}
Смотрите также
|
найти символы в представлении
(публичная функция-член) |
|
|
найти последнее вхождение подстроки
(публичная функция-член) |
|
|
найти первое вхождение символов
(публичная функция-член) |
|
|
найти первое отсутствие символов
(публичная функция-член) |
|
|
найти последнее отсутствие символов
(публичная функция-член) |
|
|
найти последнее вхождение символов
(публичная функция-член
std::basic_string<CharT,Traits,Allocator>
)
|