array
array是静态数组,也就是一开始是直接分配大小的数组。
声明
template<typename _Tp, std::size_t _Nm>
struct array{
typedef _Tp value_type;
typedef _Tp* pointer;
//iterator和vector的iterator是一样的,都是pointer类型
typedef value_type* iterator;
//声明数组。
value_type _M_instance[_Nm ? _Nm : 1];
iterator begin(){
return iterator(&_M_instance[0]);
}
iterator end(){
return iterator(&_M_instance[_Nm]);
}
...
}
迭代器iterator
迭代器是pointer类型。