例如,对于模板类A:
template <class T>
class A {
public:
void function(const T & r);
};
我想对char *,char []类型进行专门化,例如:
template <>
class A<char*> {
public:
void function(const char * r);
};
template <>
class A<char[]> {
public:
void function(const char * r);
};
字符串特化实际上有这些类型:
<char*>
<wchar_t*>
<const char*>
<const wchar_t*>
<volatile char*>
<volatile wchar_t*>
<const volatile char*>
<const volatile wchar_t*>
<char[]>
<wchar_t[]>
<const char[]>
<const wchar_t[]>
<volatile char[]>
<volatile wchar_t[]>
<const volatile char[]>
<const volatile wchar_t[]>
如果模板类A有许多成员函数,我必须编写许多不必要的代码来覆盖16种字符串类型,而且它很无聊。
有没有什么好方法可以生成这些代码?