std::basic_string_view<CharT,Traits>::find
constexpr size_type find( basic_string_view v, size_type pos = 0 ) const noexcept; | (1) | (since C++17) |
constexpr size_type find( CharT ch, size_type pos = 0 ) const noexcept; | (2) | (since C++17) |
constexpr size_type find( const CharT* s, size_type pos, size_type count ) const; | (3) | (since C++17) |
constexpr size_type find( const CharT* s, size_type pos = 0 ) const; | (4) | (since C++17) |
Находит первую подстроку, равную заданной последовательности символов.
1) Находит первое вхождение
v в этом представлении, начиная с позиции pos.
2) Эквивалентно
find(basic_string_view(std::addressof(ch), 1), pos).
3) Эквивалентно
find(basic_string_view(s, count), pos).
4) Эквивалентно
find(basic_string_view(s), pos).Параметры
| v | - | представление для поиска |
| pos | - | позиция, с которой начинается поиск |
| count | - | длина подстроки для поиска |
| s | - | указатель на строку символов для поиска |
| ch | - | символ для поиска |
Возвращаемое значение
Позиция первого символа найденной подстроки или npos, если такая подстрока не найдена.
Сложность
O(size() * v.size()) в худшем случае.
Пример
#include <string_view>
int main()
{
using namespace std::literals;
constexpr auto str{" long long int;"sv};
static_assert(
1 == str.find("long"sv) && "<- find(v , pos = 0)" &&
6 == str.find("long"sv, 2) && "<- find(v , pos = 2)" &&
0 == str.find(' ') && "<- find(ch, pos = 0)" &&
2 == str.find('o', 1) && "<- find(ch, pos = 1)" &&
2 == str.find("on") && "<- find(s , pos = 0)" &&
6 == str.find("long double", 5, 4) && "<- find(s , pos = 5, count = 4)"
);
static_assert(str.npos == str.find("float"));
}См. также
| найти последнее вхождение подстроки (публичный член-функция) |
|
| найти первое вхождение символов (публичный член-функция) |
|
| найти последнее вхождение символов (публичный член-функция) |
|
| найти первое отсутствие символов (публичный член-функция) |
|
| найти последнее отсутствие символов (публичный член-функция) |
|
| находит первое вхождение заданной подстроки (публичный член-функция std::basic_string<CharT,Traits,Allocator>) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/string/basic_string_view/find