有没有办法使部分专业化始终优于主要模板?
我问自己
您能否编写一个类模板和相应的部分特化,以便对于参数的任何模板实参集,编译器都会采用部分特化?
例如,
template<typename T>
struct A { };
template<typename T>
struct A</* what to write!?*/> { };
我似乎记得读过这在某种程度上是可能的,但我忘记了实现这项工作的确切算法。
I'm asking myself
Can you write a class template and a corresponding partial specialization such that for any set of template arguments for the parameters, the partial specialization is taken by the compiler?
For example
template<typename T>
struct A { };
template<typename T>
struct A</* what to write!?*/> { };
I seem to remember having read that this is possible somehow, but I forgot the exact algorithm to make this work.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我的 GCC 版本很乐意接受:
My version of GCC is happy to accept:
如果您允许 SFINAE 技巧,那么它将像这样简单:
演示。
If you allow SFINAE trick then, it will be as easy as this:
Demo.