我有一个模板类C++设计问题上的模板类型
template <typename T>
class MyContainerClass
对于类型来代替T,它必须满足许多要求:例如, get_id(),整数数据(),等
显然没有一种基本类型(POD)是可替代的。我可以提供 的一种方法是通过提供这些功能的POD的包装。这是可接受的 的方式?
另一种方法是将模板更改为:
template < typename T, typename C=traits<T> >
class MyContainerClass
和内部MyContainerClass,调用性状::数据(),而不是数据()上T对象。 我会专门traits<int>, traits<const char *>
等
这是好的设计?我如何设计这样一个特质类(完全静态的方法或允许继承用的 )?或者包装类是一个很好的解决方案?
还有其他的选择吗?