I half agree; it&#x27;s easy to be cynical. Virtual functions can be a terrible idea... if they are in a hot path.<p>Is EchoHandler::read such a path? Maybe, you really can&#x27;t say without profiling. If anything using std::string is the red flag for me.