当前位置:
首页 >
c++ array学习
发布时间:2023/12/1
48
豆豆
生活随笔
收集整理的这篇文章主要介绍了
c++ array学习
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
参考资料:
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 6 vec = 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 5 arr.front(); // 15.back (访问最后一个元素)
//arr:1 2 3 4 5 arr.back(); // 56.data (返回数组第一个元素的地址指针)
//返回第一个元素的地址 arr.data() ; //返回第一个元素的值 *arr.data();迭代器
7.begin/cbegin (返回指向容器第一个元素的迭代器 /常量迭代器)
//打印第二个元素 auto ite = tempArr.begin(); std::cout << *++ite << std::endl;//打印第一个元素 auto cIte = tempArr.cbegin(); std::cout << *cIte << std::endl;8.end/cend(返回指向容器尾端的迭代器/常量迭代器)
//打印倒数第一个元素 auto ite = tempArr.end(); std::cout << *--ite << std::endl;//顺序打印tempArr for (auto cIte = tempArr.begin(); cIte != tempArr.cend(); ++cIte) {std::cout << *cIte << " "; }9.rbegin/rcbegin(返回指向容器最后一个元素的迭代器/常量迭代器)
//打印倒数第二个元素 auto ite = tempArr.rbegin(); std::cout << *++ite << std::endl;//打印最后一个元素 auto cIte = tempArr.crbegin(); std::cout << *cIte << std::endl;10.cend/crend (返回指向容器前端的逆向迭代器/常量迭代器)
//打印第一个元素 auto ite = tempArr.rend(); std::cout << *--ite << std::endl;//逆序打印tempArr for (auto cIte = tempArr.rbegin(); cIte != tempArr.crend(); ++cIte) {std::cout << *cIte << " "; }容量
11.empty (判断容器是否为空)
bool empty() 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 5 tempArr.fill(8); //tempArr: 8 8 8 8 815.swap (交换两个容器的内容)
//交换前: //vec:1 3 5 7 //tempVec:2 4 6 8 vec.swap(tempVec); //交换后: //vec:2 4 6 8 //tempVec: 1 3 5 7总结
以上是生活随笔为你收集整理的c++ array学习的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 极米A3怎么查询是否翻新机
- 下一篇: c++ queue学习