这是我之前的问题: Generic class that accepts C++ string & C style string
本杰明林德利的答案似乎是我在寻找的。 他说,因为我只想将它限制为std :: string和char const *,所以我应该只使用两个重载:
char getSecondLetter(std::string const & str) { return str[1]; }
char getSecondLetter(char const * str) { return str[1]; }
但是如果我使用两个重载,那么这些重载方法的参数是非通用的数据类型。
char getSecondLetter(T const & str) { return str[1]; }
因此数据类型不是T或Str_T,而是std :: string或char const *。如果我将这些重载方法用于泛型类,我相信该类不再是通用的了。我纠正还是错了?...