Given the following methods:
// Method 1 void add(const std::string& header, bool replace); //Method 2 void add(const std::string& name, const std::
My guess is the conversion from pointer to bool is an implicit primitive type conversion, where the conversion to std::string requires the call of a constructor and the construction of a temporary.
std::string