STLのstringを使いこなそう

strtokとかはどーにも使いにくいので、string.substr()でぶった切ってvectorに突っ込みまくるとかいう横着をはじめてみた。


メモリ周りとか生存期間とかどうなってんのかさっぱり分からないけど、
なんとなく動いたのでヨシとしている。
きっと、そのうちこの辺で酷い目にあうんだろうけど…


ところでデリミタの検出にstring.find_first_of()を使っているんだけど、
ネットで引くところのリファレンスでは失敗したとき=見つからなかったときはnposを返すとある。
substr()とかの実装からnposって、
てっきりそのstringの尻尾のインデクスかと思ったので

if (str.find_first_of("") >= str.size()) break;

てな感じで判定させてたらアボートしまくる。


調べてみたら失敗時には-1を返してる。
npos=-1らしい。
ということはstr.substr(0,-1)==str が真ってコト?


この辺の不思議仕様がさっぱり分からない。nposとか言わずに-1って書いてよ!