Aly*_*Aly 4 c++ templates interface
我有一个模板类,我想知道是否可以强制模板类类型实现某个接口,特别是我想强制该类型重载该operator=方法.在Java中我会写:
public class Tree<T implements IComparable>{
public Tree(Vector<T> x){...}
}
Run Code Online (Sandbox Code Playgroud)
C++的替代品是什么?
只需编写代码就可以了.如果没有,则在用户传入不合格类型时将无法编译.这里不需要明确的功能.但是为什么你真的需要像IComparable这样的接口呢?模板是鸭子类型.
但模板错误可能会变得令人讨厌.您可以使用类型特征和静态断言来简化这一过程.但是,标准没有提供这样的特性,所以你必须用SFINAE写一个.
| 归档时间: |
|
| 查看次数: |
1861 次 |
| 最近记录: |