2
なぜ `std :: string :: find()`は失敗時に終了イテレータを返さないのですか?
の動作がstd::string::find標準のC ++コンテナと一致しないことがわかりました。 例えば std::map<int, int> myMap = {{1, 2}}; auto it = myMap.find(10); // it == myMap.end() しかし、ひもについては、 std::string myStr = "hello"; auto it = myStr.find('!'); // it == std::string::npos 代わりに失敗したmyStr.find('!')リターンをすべきではないmyStr.end()のstd::string::nposですか? std::stringは他のコンテナと比較するとやや特殊なので、これには何らかの理由があるのかと思います。(驚いたことに、私はこれをどこかで疑う人を見つけることができませんでした)。