std::basic_string<CharT,Traits,Allocator>:: npos
From cppreference.net
<
cpp
|
string
|
basic string
C++
Strings library
| Classes | ||||
|
(C++17)
|
||||
std::basic_string
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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>
의
public static 멤버 상수)
|