从boost :: ptr_vector获取模板参数

时间:2014-05-28 17:38:41

标签: c++ boost ptr-vector

来自boost::ptr_vector<T>我试图获得T,但boost::ptr_vector<T>::value_type似乎是T*。我怎样才能获得T

查看文档,我看到了:

typedef  T*                                           value_type;
typedef  T&                                           reference;
typedef  const T&                                     const_reference;

这些都没有帮助...

2 个答案:

答案 0 :(得分:2)

如果您可以使用C ++ 11,则value_type上的std::remove_pointer应该可以胜任。

答案 1 :(得分:2)

由于您正在使用Boost,因此您可以使用boost::remove_pointer来获取指向类型。

boost::remove_pointer<boost::ptr_vector<T>::value_type>::type

将评估为T

如果您可以使用C ++ 11功能,则可以像Boost版本一样使用std::remove_pointer