当前位置: 首页 > news >正文

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 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();// 1

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

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

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

arr.max_size();

操作

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

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

15.swap (交换两个容器的内容)

//交换前://vec:1 3 5 7//tempVec:2 4 6 8vec.swap(tempVec);//交换后://vec:2 4 6 8//tempVec: 1 3 5 7
http://www.jsqmd.com/news/1281211/

相关文章:

  • 国内铝木门窗品牌榜单分析 - 品牌推广大师
  • CSS 架构的反模式清单:全局污染、选择器爆炸与 z-index 战争
  • 暗黑破坏神2存档编辑器终极指南:5分钟掌握角色装备修改技巧
  • 广州沙发翻新上门服务哪家靠谱?旧沙发翻新多少钱?(2026 年最新完整版) - 便民获客通
  • TI bq2404x评估模块实战指南:从硬件解析到测试全流程
  • Helm Chart 避坑:values嵌套、hook和回滚的陷阱
  • [操作系统]进程管理之进程
  • ajax 详解(GET,POST方式传输以其封装)
  • 电-热综合能源系统优化调度与Matlab实现
  • 彻底告别C盘爆红:Windows Cleaner四步拯救你的系统性能
  • 《leetcode-php》把二叉树的左兄弟节点指向右兄弟节点
  • 英雄联盟智能助手:5个维度重新定义你的游戏体验
  • 字典树(Trie)原理、实现与优化全解析
  • 2026年8月郑州稳重的合同纠纷律师联系方式?杨思介协调法拍房交易相关合同争议 - 十大排行榜推荐
  • 佛山压铸机配件浇口套料管多年专业厂家 - 信息热点
  • 【私藏级AI语言训练协议】:MIT+剑桥双认证框架首次公开,仅限本周免费解析(含动态词频校准表)
  • 2026宁波闲置黄金奢品变现热潮,连锁直营门店交易优势凸显(附门店联系方式) - 二奢分享官
  • Spring Boot 配置嵌入式Servlet容器
  • 掌握Agent开发,抢占AI时代核心优势:从入门到实战,升职加薪必备!
  • 外贸网站Google推广的实操策略
  • OpenClaw智能代理框架一键部署指南
  • TestDisk数据恢复:免费开源工具拯救丢失数据的完整指南
  • 2026长三角亚硫酸氢钠厂家推荐:专业生产与稳定供应实力解析 - 信息热点
  • 你的数字记忆管家:3步永久保存微信聊天记录,打造专属情感档案馆
  • Java中SSM框架解决跨域请求
  • Obsidian 插件搭配指南:从同步底层到效率工具的五层插件体系
  • 沈阳装修公司综合实力榜2026:6大维度严选,荣泰、林泽、富田、方林上榜 - GrowUME
  • Obsidian+Python构建个人知识管理系统实践
  • COMSOL多物理场仿真在压缩空气储能系统中的应用
  • 物联网安全:SE050安全元件与TM4C129XNCZAD的协同设计