std::basic_string<CharT,Traits,Allocator>::npos
Von cppreference.com
< cpp | string | basic string
| static const size_type npos = -1; |
||
Dies ist ein spezieller Wert, der gleich dem maximal darstellbaren Wert des Typs size_type ist. Die genaue Bedeutung hängt vom Kontext ab, aber er wird im Allgemeinen entweder als End-of-String-Indikator für Funktionen verwendet, die einen String-Index erwarten, oder als Fehlerindikator für Funktionen, die einen String-Index zurückgeben.
[bearbeiten] Hinweis
Obwohl die Definition -1 verwendet, ist size_type ein vorzeichenloser Ganzzahltyp, und der Wert von npos ist der größte positive Wert, den er aufgrund der impliziten Konvertierung von vorzeichenbehafteten zu vorzeichenlosen Zahlen halten kann. Dies ist eine portable Möglichkeit, den größten Wert jedes vorzeichenlosen Typs anzugeben.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <bitset> #include <iostream> #include <string> int main() { // string search functions return npos if nothing is found std::string s = "test"; if (s.find('a') == s.npos) std::cout << "no 'a' in 'test'\n"; // functions that take string subsets as arguments // use npos as the "all the way to the end" indicator 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'; }
Ausgabe
no 'a' in 'test' st 00011
[bearbeiten] Siehe auch
| [static] |
spezieller Wert. Die genaue Bedeutung hängt vom Kontext ab (public static member constant of std::basic_string_view<CharT,Traits>) |