欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

c++ array学习

发布时间:2023/12/1 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 c++ array学习 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

参考资料:
cppreference.com

本文代码:
本文源码

arrayvector的区别是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(); // 1

5.back (访问最后一个元素)

//arr:1 2 3 4 5 arr.back(); // 5

6.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_sizesize的一样的

arr.max_size();

操作

14.fill (以指定值填充容器 )

//tempArr:1 2 3 4 5 tempArr.fill(8); //tempArr: 8 8 8 8 8

15.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学习的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。