news 2026/7/28 14:48:48

c++ array学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 14:46:42

Windows 10完美运行Android应用:WSA-Windows-10逆向移植完整指南

Windows 10完美运行Android应用&#xff1a;WSA-Windows-10逆向移植完整指南 【免费下载链接】WSA-Windows-10 This is a backport of Windows Subsystem for Android to Windows 10. 项目地址: https://gitcode.com/gh_mirrors/ws/WSA-Windows-10 还在羡慕Windows 11用…

作者头像 李华
网站建设 2026/7/28 14:46:26

学术版Codex技术特性与应用场景研究分析

搞科研的大家&#xff01;找英文文献依然是科研路上最头疼的一道坎儿吧&#xff1f; 尤其是现在AI工具层出不穷&#xff0c;老工具也在不断升级&#xff0c;选对平台能省下大把时间。今天我给大家盘点8个好用的英文文献检索网站&#xff0c;涵盖传统权威平台 新一代AI智能工具…

作者头像 李华
网站建设 2026/7/28 14:46:15

如何10分钟掌握GoldHEN金手指管理器:PS4游戏修改终极指南

如何10分钟掌握GoldHEN金手指管理器&#xff1a;PS4游戏修改终极指南 【免费下载链接】GoldHEN_Cheat_Manager GoldHEN Cheats Manager 项目地址: https://gitcode.com/gh_mirrors/go/GoldHEN_Cheat_Manager 厌倦了在PS4游戏中反复刷资源、卡关无法前进&#xff1f;Gold…

作者头像 李华
网站建设 2026/7/28 14:45:38

TPIC7710EVM评估模块:汽车电子驻车制动系统ASIC验证实战指南

1. 项目概述与核心价值 在汽车电子&#xff0c;特别是车身控制与底盘电控领域&#xff0c;电子驻车制动&#xff08;EPB&#xff09;系统正迅速取代传统的机械手刹。其核心在于将驾驶员的操作意图转化为精确的电机控制&#xff0c;实现驻车、释放乃至动态辅助制动。对于负责这类…

作者头像 李华
网站建设 2026/7/28 14:45:22

大模型能力边界:独立开发者实战中的「能做到」与「做不到」

大模型能力边界&#xff1a;独立开发者实战中的「能做到」与「做不到」 一、模型能力的「示范效应」与实战落差 过去18个月&#xff0c;大模型的能力演示视频和 benchmark 分数&#xff0c;给独立开发者创造了一种「几乎什么都能做」的预期。你看到模型能写诗、能解数学题、能生…

作者头像 李华
网站建设 2026/7/28 14:44:51

Diablo Edit2终极指南:暗黑2存档编辑器的完整使用教程

Diablo Edit2终极指南&#xff1a;暗黑2存档编辑器的完整使用教程 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit Diablo Edit2是一款功能强大的暗黑破坏神2角色存档编辑器&#xff0c;支持从经典…

作者头像 李华