std::basic_string<CharT,Traits,Allocator>::starts_with
Материал из cppreference.com
<tbody>
</tbody>
constexpr bool starts_with( std::basic_string_view<CharT,Traits> sv ) const noexcept; |
(1) | (начиная с C++20) |
constexpr bool starts_with( CharT ch ) const noexcept; |
(2) | (начиная с C++20) |
constexpr bool starts_with( const CharT* s ) const; |
(3) | (начиная с C++20) |
Проверяет, начинается ли строка с заданного префикса. Префикс может быть одним из следующих:
1) Строковое представление
sv (которое может быть результатом неявного преобразования из другого std::basic_string).2) Один символ
ch.3) Строка символов
s, завершающаяся нулём.Все три перегрузки фактически возвращают std::basic_string_view<CharT, Traits>(data(), size()).starts_with(x), где x это параметр.
Параметры
| sv | — | строковое представление, которое может быть результатом неявного преобразования из другого std::basic_string
|
| ch | — | один символ |
| s | — | строка символов, завершающаяся нулём |
Возвращаемое значение
true, если строка начинается с указанного префикса, false иначе.
Примечание
| Макрос Тестирования функциональности | Значение | Стандарт | Функциональность |
|---|---|---|---|
__cpp_lib_starts_ends_with |
201711L |
(C++20) | Проверка префикса и суффикса строки: starts_with() и ends_with() |
Пример
Запустить этот код
#include <cassert>
#include <string>
#include <string_view>
int main()
{
using namespace std::literals;
const auto str = "Hello, C++20!"s;
assert
(""
&& str.starts_with("He"sv) // (1)
&& !str.starts_with("he"sv) // (1)
&& str.starts_with("He"s) // (1) неявное преобразование строки в string_view
&& !str.starts_with("he"s) // (1) неявное преобразование строки в string_view
&& str.starts_with('H') // (2)
&& !str.starts_with('h') // (2)
&& str.starts_with("He") // (3)
&& !str.starts_with("he") // (3)
);
}
Смотрите также
(C++20) |
проверяет, заканчивается ли строка заданным суффиксом (public функция-элемент) |
(C++20) |
проверяет, начинается ли строковое представление с заданного префикса (public функция-элемент std::basic_string_view<CharT,Traits>)
|
(C++20) |
проверяет, заканчивается ли строковое представление заданным суффиксом (public функция-элемент std::basic_string_view<CharT,Traits>)
|
(C++23) |
проверяет, содержит ли строка данную подстроку или символ (public функция-элемент) |
(C++23) |
проверяет, содержит ли строковое представление заданную подстроку или символ (public функция-элемент std::basic_string_view<CharT,Traits>)
|
| сравнивает две строки (public функция-элемент) | |
| возвращает подстроку (public функция-элемент) |