猿问

​ typedef _A::size_type size_type; 这句中的 _A:: 如何解释?

template<class _E,
class _Tr = char_traits<_E>,
class _A = allocator<_E> >
class basic_string {
public:
typedef basic_string<_E, _Tr, _A> _Myt;
typedef _A::size_type size_type;
typedef _A::difference_type difference_type;
typedef _A::pointer pointer;
typedef _A::const_pointer const_pointer;
typedef _A::reference reference;
typedef _A::const_reference const_reference;
typedef _A::value_type value_type;
typedef _A::pointer iterator;
typedef _A::const_pointer const_iterator;
typedef reverse_iterator<const_iterator, value_type,
const_reference, const_pointer, difference_type>
const_reverse_iterator;

typedef _A::size_type size_type; 这句中的 _A:: 如何解释? 这个应该是个类模板的虚类型,怎么可以用作用域:: ?

心有法竹
浏览 151回答 1
1回答

炎炎设计

_A::是很正常的用法啊,类模版是在使用的时候才实例化的,真正使用的时候_A被指定成什么,那_A::就是谁的作用域了。
随时随地看视频慕课网APP
我要回答