函数重载用于字符串引用和const char指针

时间:2014-03-05 20:42:24

标签: c++ string

定义两个类函数是否合法,一个重载了对string的引用而另一个重载了const char*

void funcA(const std::string& s)
void funcA(const char* s)

我可以保证,如果我使用funcA()输入调用const char*,它将不会调用字符串函数吗?我问,因为从const char*string有隐式构造。

1 个答案:

答案 0 :(得分:4)

是的,这是有效的。如果传递const char*,则第二个重载是完全匹配,优先于所有其他重载,特别是涉及用户定义转换的重载(例如转换为const std::string)。