std::basic_string_view<CharT,Traits>::subview
constexpr std::basic_string_view<CharT, Traits> subview( size_type pos = 0,
size_type count = npos ) const;
| (начиная с C++26) |
Возвращает представление подстроки [pos, pos + rlen), где rlen — меньшее из count и size() - pos.
Параметры
| pos | - | позиция первого символа |
| count | - | запрошенная длина |
Возвращаемое значение
Представление подстроки [pos, pos + rlen).
Исключения
std::out_of_range, если pos > size().
Сложность
Константная.
Примечания
| Макрос проверки поддержки функции | Значение | Стандарт | Функция |
|---|---|---|---|
__cpp_lib_string_subview | 202506L | (C++26) |
std::basic_string_view::subview, std::basic_string::subview |
Пример
#include <cassert>
#include <iostream>
#include <string_view>
int main()
{
const std::string_view s{"Life is life!"};
assert(s.subview(5) == "is life!");
assert(s.subview(5, 13) == "is life!");
assert(s.subview(5, 2) == "is");
try
{
// pos is out of bounds, throws
const auto pos{s.length() + 13};
[[maybe_unused]] auto x_x{s.subview(pos)};
}
catch (const std::out_of_range& ex)
{
std::cout << "Exception: " << ex.what() << '\n';
}
}
Возможный вывод:
Exception: basic_string_view::substr: __pos (which is 26) > __size (which is 13)
См. также
| возвращает подстроку (открытая функция-член) |
|
|
(C++26) | возвращает под-представление (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/string/basic_string_view/subview