string::nposとは
string::nposはstring型のfindで見つからなかったときに返ってくる値です。
お試しコード
int main(){
string s = "aaa";
if(s.find('b') == string::npos) cout << "Not found" << endl;
}
結果
Not found
この前int
型の変数にstring::npos
を入れたら-1
だったので、ん?って思ってたので実験してみました。
実験のコード
int main(){
bitset<100> bit(string::npos);
if(string::npos==INT64_MAX) cout<<"Yes"<<endl;
if(string::npos==UINT64_MAX) cout<<"OhYes"<<endl;
cout<<bit<<endl;
}
結果
OhYes
0000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111
int
型の-1
は全ビットが1
なのでint
型に入れたら-1
になるよねー。