你能为泛型类提供具有特定数据类型的方法吗?

时间:2013-04-20 11:49:10

标签: c++ templates

这是我之前的问题: 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 *。如果我将这些重载方法用于泛型类,我相信该类不再是通用的了。我纠正还是错了?...

0 个答案:

没有答案