String_Algo Find障害でのreturn値をブーストします
-
27-10-2019 - |
質問
Boost :: String_algoの最初の検索を使用して、最初のスペースをラインの最初のスペースを見つけたいです:
const boost::iterator_range<std::string::iterator> token_range = boost::find_first(line, " ");
ただし、スペースが見つからない場合にこれが戻ってくることを示すドキュメントには何も見つからないようです。 token_range.end()をline.end()または何かに対してテストする必要がありますか?
ありがとう!
解決
テストするだけだと思います token_range.empty()
, 、 このような:
const boost::iterator_range<std::string::iterator> token_range = boost::find_first(line, " ");
if (!token_range.empty())
{
// Found a a match
}
boost::iterator_range
また、ブール変換オペレーターがあるため、empty()関数呼び出しをドロップして、次のことを書き込むこともできます。
const boost::iterator_range<std::string::iterator> token_range = boost::find_first(line, " ");
if (token_range)
{
// Found a a match
}
所属していません StackOverflow