stl中搞个rebind出来是什么意思?
template<class _Elem, class _Traits, class _Ax> class basic_string : public _String_val<_Elem, _Ax> { ... typedef _String_val<_Elem, _Ax> _Mybase; typedef typename _Mybase::_Alty _Alloc; ...template<class _Ty, class _Alloc> class _String_val : public _String_base { ... typedef typename _Alloc::template rebind<_Ty>::other _Alty; ...template<class _Ty> class allocator : public _Allocator_base<_Ty> { ... template<class _Other> struct rebind { // convert an allocator<_Ty> to an allocator <_Other> typedef allocator<_Other> other; }; ...