有没有更好的方法来实现pointer_traits :: rebind?

时间:2015-12-12 03:12:57

标签: c++ templates c++11

我可以通过构建名为pointer_traits<Ptr>::element_type的类来实现may_element_type。如果Ptr符合要求,则may_element_type会有一个名为element_type的类型成员,否则may_element_type将没有任何内容。然后,pointer_traits可以继承may_element_type

但是pointer_traits::rebind是一个模板。如果我想做一些条件判断,pointer_traits无法继承像may_rebind这样的类。

我也可以使用template <typename T> rebind = may_rebind<T, Ptr>::type,但may_rebind中可能没有任何内容。

所以我的问题是有更好的方法来实现pointer_traits::rebind吗?

0 个答案:

没有答案