参考资料:
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= (将另一个容器拷贝过来)
array<int,3>vec;array<int,3>tempVec;//vec:1 2 3//tempVec:4 5 6vec=tempVec;//vec:4 5 6//tempVec:4 5 6元素访问
2.at (访问指定元素,进行下标检查)
arr.at(site);3.operator[] (访问指定元素,可能出现访问越界)
arr[site];4.front (访问第一个元素)
//arr:1 2 3 4 5arr.front();// 15.back (访问最后一个元素)
//arr:1 2 3 4 5arr.back();// 56.data (返回数组第一个元素的地址指针)
//返回第一个元素的地址arr.data();//返回第一个元素的值*arr.data();迭代器
7.begin/cbegin (返回指向容器第一个元素的迭代器 /常量迭代器)
//打印第二个元素autoite=tempArr.begin();std::cout<<*++ite<<std::endl;//打印第一个元素autocIte=tempArr.cbegin();std::cout<<*cIte<<std::endl;8.end/cend(返回指向容器尾端的迭代器/常量迭代器)
//打印倒数第一个元素autoite=tempArr.end();std::cout<<*--ite<<std::endl;//顺序打印tempArrfor(autocIte=tempArr.begin();cIte!=tempArr.cend();++cIte){std::cout<<*cIte<<" ";}9.rbegin/rcbegin(返回指向容器最后一个元素的迭代器/常量迭代器)
//打印倒数第二个元素autoite=tempArr.rbegin();std::cout<<*++ite<<std::endl;//打印最后一个元素autocIte=tempArr.crbegin();std::cout<<*cIte<<std::endl;10.cend/crend (返回指向容器前端的逆向迭代器/常量迭代器)
//打印第一个元素autoite=tempArr.rend();std::cout<<*--ite<<std::endl;//逆序打印tempArrfor(autocIte=tempArr.rbegin();cIte!=tempArr.crend();++cIte){std::cout<<*cIte<<" ";}容量
11.empty (判断容器是否为空)
boolempty()if(arr.empty()){std::cout<<"arr为空!\n";}else{std::cout<<"arr不为空!\n";}12.size (返回容器当前元素个数)
arr.size();13.max_size (返回容器可容纳的最大元素个数)
因为array是固定大小的,所以max_size和size的一样的
arr.max_size();操作
14.fill (以指定值填充容器 )
//tempArr:1 2 3 4 5tempArr.fill(8);//tempArr: 8 8 8 8 815.swap (交换两个容器的内容)
//交换前://vec:1 3 5 7//tempVec:2 4 6 8vec.swap(tempVec);//交换后://vec:2 4 6 8//tempVec: 1 3 5 7