std::basic_string<CharT,Traits,Allocator>:: npos
| Classes | ||||
|
(C++17)
|
||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
static
const
size_type npos
=
-
1
;
|
||
Это специальное значение, равное максимальному значению, представимому типом
size_type
. Точное значение зависит от контекста, но обычно используется либо как индикатор конца строки функциями, которые ожидают индекс строки, либо как индикатор ошибки функциями, которые возвращают индекс строки.
Примечание
Хотя в определении используется
-
1
,
size_type
является беззнаковым целочисленным типом, и значение
npos
— это наибольшее положительное значение, которое он может содержать, благодаря
неявному преобразованию знакового в беззнаковое
. Это переносимый способ указания наибольшего значения для любого беззнакового типа.
Пример
#include <bitset> #include <iostream> #include <string> int main() { // функции поиска в строке возвращают npos, если ничего не найдено std::string s = "test"; if (s.find('a') == s.npos) std::cout << "no 'a' in 'test'\n"; // функции, принимающие подстроки в качестве аргументов, // используют npos как индикатор "до конца строки" std::string s2(s, 2, std::string::npos); std::cout << s2 << '\n'; std::bitset<5> b("aaabb", std::string::npos, 'a', 'b'); std::cout << b << '\n'; }
Вывод:
no 'a' in 'test' st 00011
Смотрите также
|
[static]
|
специальное значение. Точное значение зависит от контекста
(публичная статическая константа-член
std::basic_string_view<CharT,Traits>
)
|