STL迭代器的实现问题。。
下面是从MSDN上截取的一段STL中Vector 的定义~
能帮我解释一下这些typedef定义的意思和他们是如何实现的么?
- C/C++ code
template<class T, class A = allocator<T> > class vector {public: typedef A allocator_type; typedef A::size_type size_type; typedef A::difference_type difference_type; typedef A::reference reference; typedef A::const_reference const_reference; typedef A::value_type value_type; typedef T0 iterator; typedef T1 const_iterator; typedef reverse_iterator<iterator, value_type, reference, A::pointer, difference_type> reverse_iterator;[解决办法]
实现具体看代码。
[解决办法]
typedef定义了一个类型,你需要知道allocator的实现.,
[解决办法]
全是allocator<T>里的东西,typedef简化了名称
[解决办法]
需要了解就去直接看源码再翻翻《STL源码剖析》吧
[解决办法]
其实是2年前看的《STL源码剖析》,最近用也没注意去想底层的东西~~所以忘差不多了~~但是这些都是用typedef定义把名字简化了而已~~~没多大的含义