Acho que o comportamento std::string::findé inconsistente com os contêineres C ++ padrão. Por exemplo std::map<int, int> myMap = {{1, 2}}; auto it = myMap.find(10); // it == myMap.end() Mas para uma corda, std::string myStr = "hello"; auto it = myStr.find('!'); // it ==...