template <class Ptr> class pointer_traits; // templatetemplate <class T> class pointer_traits<T*>; // template specialization
成员类型 | 解释 | 未特化中的定义pointer_traits | 在...中的定义pointer_traits<T*>特化 |
---|---|---|---|
指针 | 指针类型 | 模板参数Ptr | T* |
element_type | 所指值的类型 | 要么Ptr::element_type(如果存在该类型),或者用于实例化该模板的类的第一个模板参数(如果Ptr(如果Ptr是类模板的实例化)。 | T |
difference_type | 通过减去两个类型为Ptr. | Ptr::difference_type(如果存在该类型),或者std::ptrdiff_t否则为 false。 | std::ptrdiff_t |
rebind<V> | 重新绑定到V | 要么Ptr::rebind<V>(如果存在该类型),或者用于实例化该模板的类的实例化,使用Ptr作为第一个模板参数(如果VV*Ptr是类模板的实例化)。 | 是别名模板。 |
|
|
foo: 1 bar: 2 |