我需要某种类型特征:
template<typename T> struct foo {};
template<>
struct foo<char> { static constexpr char c = 'c' };
如果我需要一个角色,这非常有效c
类型的char
,但在以下情况下不会:
printf("%c", foo<const char>::c);
有没有更优雅的方法来做到这一点,而不是为两者指定模板char
and const char
以同样的方式?
添加部分专业化:
template <class T> struct foo<const T> : foo<T> {};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)