list的数据结构
list的数据结构是一个双向环形链表。因此只需要一个指针就可以完成整个链表
template<class T, class Alloc=alloc>class list {protected:typedef __list_node<T> list_node;public:typedef list_node* link_type;protected:link_type node; //只要一个指针就可以表示整个环状双向链表};//STL前闭后开原则iterator begin() {return (link_type)((*node).next);}iterator end() {return node;}bool empty() const {return node->next == node;}size_type size() const {size_type result = 0;distance(begin(), end(), result);return result;}reference front() {return *being();}reference back() {return *(--end());}
