C ++为模板类生成特化的任何好方法?

时间:2017-04-08 01:44:20

标签: c++ templates

例如,对于模板类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种字符串类型,而且它很无聊。

有没有什么好方法可以生成这些代码?

0 个答案:

没有答案