array
- array本身是c语言中已经存在的数组,为什么还要包装成容器
- array被包装成一个容器,要遵循容器的规则,要提供iterator且迭代器要提供五种相应的类型,以便于让算法获得必要的信息,方便算法采取最优化的操作
- 如果没有包装,array就被排斥在标准库六大部件之外,无法直接与算法、仿函数等等交互
arrayTR1版
- TR1是介于c++98和c++11之间的一种版本
- array没有构造函数与析构函数
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];
iterator begin()
{ return iterator(&_M_instance[0]); }
iterator end()
{ return iterator(&_M_instance[_Nm]); }
...
}
array<int, 10> myArray;
auto ite = myArray.begin()'
ite += 3;
cout<< *ite;
4.9版
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/0d160ef001774de849f31556d1b79f4a.png#pic_center)
int a[100];
int[100] b;
typedef int T[100];
T c;
forward_list
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/cee0bb81060013079d3b18bb3dc20f9c.png#pic_center)