作者anfranion (南‧生命的意义是经历)
看板EE_DSnP
标题[关於] iterator
时间Wed Nov 11 10:56:57 2009
刚刚去查了一下
iterator本身其实不是define在STL containers里面 (就是不是inner class)
应该是说
iterator本身是一系列有继承架构的class with Template
而STL containers里面是typedef它
这是stl_vector.h里的片段内容:
template<typename _Tp, typename _Alloc = allocator<_Tp> >
class vector : protected _Vector_base<_Tp, _Alloc>
{
// ...
typedef vector<_Tp, _Alloc> vector_type;
public:
typedef _Tp value_type;
typedef typename _Alloc::pointer pointer;
typedef typename _Alloc::const_pointer const_pointer;
typedef typename _Alloc::reference reference;
typedef typename _Alloc::const_reference const_reference;
typedef __gnu_cxx::__normal_iterator<pointer, vector_type> iterator;
typedef __gnu_cxx::__normal_iterator<const_pointer, vector_type>
const_iterator;
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
typedef std::reverse_iterator<iterator> reverse_iterator;
// ...
STL里面有满多奇妙的写法就是了XDrz
但是不看里面的写法
它的组织结构其实很完整,整个模组化也做的不错
越用越欣赏他的一些写法~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.4.234