
参考资料cppreference.com本文代码本文源码array和vector的区别是array是和C中的数组类似不能动态改变数组大小所以会比vector少很多函数。目录隐式定义的成员函数1.operator 将另一个容器拷贝过来元素访问2.at 访问指定元素进行下标检查3.operator[] 访问指定元素可能出现访问越界4.front 访问第一个元素5.back 访问最后一个元素6.data 返回数组第一个元素的地址指针迭代器7.begin/cbegin 返回指向容器第一个元素的迭代器 /常量迭代器8.end/cend返回指向容器尾端的迭代器/常量迭代器9.rbegin/rcbegin返回指向容器最后一个元素的迭代器/常量迭代器10.cend/crend 返回指向容器前端的逆向迭代器/常量迭代器容量11.empty 判断容器是否为空12.size 返回容器当前元素个数13.max_size 返回容器可容纳的最大元素个数操作14.fill 以指定值填充容器 15.swap 交换两个容器的内容隐式定义的成员函数1.operator 将另一个容器拷贝过来arrayint,3vec;arrayint,3tempVec;//vec1 2 3//tempVec4 5 6vectempVec;//vec4 5 6//tempVec4 5 6元素访问2.at 访问指定元素进行下标检查arr.at(site);3.operator[] 访问指定元素可能出现访问越界arr[site];4.front 访问第一个元素//arr1 2 3 4 5arr.front();// 15.back 访问最后一个元素//arr1 2 3 4 5arr.back();// 56.data 返回数组第一个元素的地址指针//返回第一个元素的地址arr.data();//返回第一个元素的值*arr.data();迭代器7.begin/cbegin 返回指向容器第一个元素的迭代器 /常量迭代器//打印第二个元素autoitetempArr.begin();std::cout*itestd::endl;//打印第一个元素autocItetempArr.cbegin();std::cout*cItestd::endl;8.end/cend返回指向容器尾端的迭代器/常量迭代器//打印倒数第一个元素autoitetempArr.end();std::cout*--itestd::endl;//顺序打印tempArrfor(autocItetempArr.begin();cIte!tempArr.cend();cIte){std::cout*cIte ;}9.rbegin/rcbegin返回指向容器最后一个元素的迭代器/常量迭代器//打印倒数第二个元素autoitetempArr.rbegin();std::cout*itestd::endl;//打印最后一个元素autocItetempArr.crbegin();std::cout*cItestd::endl;10.cend/crend 返回指向容器前端的逆向迭代器/常量迭代器//打印第一个元素autoitetempArr.rend();std::cout*--itestd::endl;//逆序打印tempArrfor(autocItetempArr.rbegin();cIte!tempArr.crend();cIte){std::cout*cIte ;}容量11.empty 判断容器是否为空boolempty()if(arr.empty()){std::coutarr为空\n;}else{std::coutarr不为空\n;}12.size 返回容器当前元素个数arr.size();13.max_size 返回容器可容纳的最大元素个数因为array是固定大小的所以max_size和size的一样的arr.max_size();操作14.fill 以指定值填充容器 //tempArr1 2 3 4 5tempArr.fill(8);//tempArr: 8 8 8 8 815.swap 交换两个容器的内容//交换前//vec1 3 5 7//tempVec2 4 6 8vec.swap(tempVec);//交换后//vec2 4 6 8//tempVec: 1 3 5 7