SGI源码download,《stl源码剖析》里展示了vector的部分源码:
1 template <class T, class Alloc = alloc> 2 class vector { 3 public: 4 typedef T value_type; 5 typedef value_type* pointer; 6 typedef const value_type* const_pointer; 7 typedef value_type* iterator; 8 typedef const value_type* const_iterator; 9 typedef value_type& reference; 10 typedef const value_type& const_reference; 11 typedef size_t size_type; 12 typedef ptrdiff_t difference_type; 13
stl里的stringmenber types 里含有的value_type等也是类型别名,迭代器也是。如果是用户自定义一个string, T,T*的写法明显比value_type、pointer更方便。
时间: 2024-10-07 05:31:12