看板 EE_DSnP 關於我們 聯絡資訊
剛剛去查了一下 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