假设我有一个带有两个参数的模板类。
template <class key, class value>
class HashMap
{
...
size_t HashFunction(const key& k)
{
string s = to_string(k);
size_t n = s.size();
unsigned long long sum = 0;
for (size_t i = 0; i < n; i++)
sum += s[i];
return sum % mod;
}
...
}
而在这种情况下,它就是行不通的to_string()。string我需要创建一个模板专业化。但是如何仅为参数创建专业化key?
我说的是这个:
template<>
size_t HashMap<string, LUBOI TIP>::HashFunction(const key& k)
{
size_t n = k.size();
unsigned long long sum = 0;
for (size_t i = 0; i < n; i++)
sum += k[i];
return sum % mod;
}
你要吗?
或者你想让它
HashFunction在一个模板化的类中被模板化?还有这个选项:
但请记住,
to_string它不仅适用于string......