参考资料:
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学习相关推荐

  1. javascript Array学习与使用

    一.Javascript数组是无类型的:数组元素可以任意类型,并且同一个数组中的不同元素也可能有不同的类型,javascript数组是动态的,会根据需要增长或者缩减,每一个数组都有一个length属性 ...

  2. 简单python数据获取分析_python学习——简单数据分析

    引入 斜杠青年:即跨界青年 做一个不可替代的数据分析师 介绍几个包: 用于web开发的包:django,flask 包 数据分析常用包:NumPy(数学计算),Pandas(基于NumPy的分析工具) ...

  3. 老男孩上海校区Python面试题

    python面试题 第一章:python基础 数据类型: 1 字典: 1.1 现有字典 dict={'a':24,'g':52,'i':12,'k':33}请按字典中的 value 值进行排序? 1. ...

  4. WPS表格:函数公式

    WPS函数 1. ROW().ROWS(array) 1)ROW() 2)ROWS(array) 2. COUNT(参数).COUNTA(参数).COUNTIF(参数) 1)COUNT() 2)COU ...

  5. js array 删除指定元素_数组--学习笔记(数据结构数组 /js数组)

    学习目标: 了解什么是数组: 数组如何访问内存地址(一维,二维): 什么是数组 是由相同类型的元素的集合所组成的数据结构,分配一块连续的内存来存储.利用元素的索引可以计算出该元素对应的存储地址. 最简 ...

  6. Lodash学习--Array篇

    作者: Yeaseon Blog:yeaseonzhang.github.io 原文链接 Lodash是一个具有一致接口.模块化.高性能等特性的 JavaScript 工具库.还有一个类似的库是und ...

  7. Python语言编程学习:numpy中的array格式数据切片与pandas中的dataframe格式数据切片、相互转换

    Python语言编程学习:numpy中的array格式数据切片与pandas中的dataframe格式数据切片.相互转换 目录 numpy中的array格式数据切片与pandas中的dataframe ...

  8. 【深度学习】array, list, tensor,Dataframe,Series之间互相转换总结

    一.前言 对于在Deep Learning的学习中总会有几个数据类型的转换,这次想把这些常用的转换做一个总结,方便以后看. 这些主要包括:Dataframe.Series(pandas), array ...

  9. JavaScript学习笔记02【基础——对象(Function、Array、Date、Math)】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

最新文章

  1. 用Python解“求整数段和”题
  2. python手机版ios-iOS 项目中如何使用 Python
  3. 让一张图片随着手指的移动而移动
  4. 不属于mysql常量的是_R256是内部“字”继电器WR25的( )号位。_学小易找答案
  5. 7000字 23张图,Pandas一键生成炫酷的动态交互式图表
  6. android startanimation 回调,ScheduledThreadPoolExecutor执行莫名停止问题Android几个动画回调运行线程...
  7. Combobox MVVM绑定并设置选中
  8. 14.高性能MySQL --- 应用层优化
  9. 中国高新技术企业名单数据
  10. python 提取字幕_使用Python从zimuku下载字幕
  11. 通识3——1080i、1080p、2K、4K是什么意思?
  12. spring编译源码 spring-cglib-repack-3.2.7.jar和spring-objenesis-repack-2.6.jar 缺失解决办法 groovy eclipse插件安装
  13. linux aria2c 百度云,使用Aria2c和百度网盘助手实现高速下载百度网盘资料
  14. 关于苏宁易购的好坏与网购的心酸苦逼史,有同感的请继续顶起
  15. kettle6.0 连接oracle11g,Kettle表输出报关闭的连接问题的解决方法
  16. 1008:Maya Calendar
  17. windows 7 浏览器无法进网站,提示安全证书存在问题(GlobalSign)
  18. 04.第五章、范围管理
  19. MyBatis-Plus自动填充字段(创建时间、修改时间、uuid等)
  20. 读书笔记-人月神话12

热门文章

  1. qt linux webservice,Qt实现访问WebService
  2. java成绩查询_JavaWeb项目第三次总结_成绩查询的实现
  3. 实战sqlmap绕过WAF
  4. html中给div设置的属性怎么样才能拿得到_HTML与CSS结合的三种方式:优先级比较...
  5. random模块详解
  6. js文件处理File
  7. 用three.js写一个简单的3D射门游戏
  8. MySQL 5.7.10 免安装配置
  9. [转]sql,N/$/#/@的含义和作用
  10. 哈哈,这个小游戏很有意思!