Array
Created At :
- 将数组封装成容器array是为了使之与STL算法兼容,其内部实现只是简单封装了一下数组,甚至没有构造函数和析构函数.与vector一样使用原生指针做迭代器.
//没有构造函数,没有析构函数
template<typename _Tp, std::size_t _Nm>
struct array {
typedef _Tp value_type;
typedef _Tp *pointer;
typedef value_type *iterator;
value_type _M_instance[_Nm ? _Nm : 1]; // Support for zero-sized arrays mandatory
iterator begin() {
return iterator(&_M_instance[0]);
}
iterator end() {
return iterator(&_M_instance[_Nm]);
}
};
arrar<int,10> myArray;
auto ite = myArray.begin();
// array<int,10>::iterator ite = ...
ite += 3;
cout<<*ite;