std::basic_string<CharT,Traits,Allocator>:: npos
| Classes | ||||
|
(C++17)
|
||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
static
const
size_type npos
=
-
1
;
|
||
Il s'agit d'une valeur spéciale égale à la valeur maximale représentable par le type
size_type
. Sa signification exacte dépend du contexte, mais elle est généralement utilisée soit comme indicateur de fin de chaîne par les fonctions qui attendent un index de chaîne, soit comme indicateur d'erreur par les fonctions qui retournent un index de chaîne.
Note
Bien que la définition utilise
-
1
,
size_type
est un type entier non signé, et la valeur de
npos
est la plus grande valeur positive qu'il peut contenir, en raison de la
conversion implicite signé-vers-non-signé
. C'est une méthode portable pour spécifier la plus grande valeur de tout type non signé.
Exemple
#include <bitset> #include <iostream> #include <string> int main() { // les fonctions de recherche de chaîne retournent npos si rien n'est trouvé std::string s = "test"; if (s.find('a') == s.npos) std::cout << "no 'a' in 'test'\n"; // les fonctions qui prennent des sous-ensembles de chaîne comme arguments // utilisent npos comme indicateur "jusqu'à la fin" 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'; }
Sortie :
no 'a' in 'test' st 00011
Voir aussi
|
[static]
|
valeur spéciale. La signification exacte dépend du contexte
(constante de membre public statique de
std::basic_string_view<CharT,Traits>
)
|