STL学习-顺序容器-array数组
array模板类是C++11引入。它是有着固定大小用于保存一系列同类型元素的顺序容容器,因此不能对它进行增加或者删除,只能使用或者替换它的元素值。
1.定义及初始化
array定义对象时,需要传入类型和大小,且大小不能修改。array是唯--个如果不初始化,它的初始化是不明确的(不是0)的容器,当然如果只初始化一部分则剩余部分为0.
//输出arr的所有元素
void Show(const array<int,10>& arr)
for(const auto &x:arr)
{
cout << x<<" ";
cout << endl;
}
int main()
{
array<int,10>a1 ={1,2,3,4,5,6,7,8,9,10 };//a1类型为int,长度为10
array<int,10>a2;//a2类型为int,长度为18,默认为随机值(vscode)和普通数组一样
array<int,5>a3={};//a3类型为int,长度为5,初始值为0
array<double,10>a4={1};//a4类型为double,长度为10
cout <<"a1:";
Show(a1);
cout <<"a2:";
Show(a2);
//Show(a3);//错误,Show只能输出类型为<int,10>
//Show(a4);//错误,Show只能输出类型为<int,10>
cout << "a3:";
for(auto x:a3)
Cout << x<<" ";
cout << endl;
cout"a4:":for(auto x:a4)
cout<<endl;return 0;
}
*由于array对象元素个数是固定的,它的大小不能改变,故不提供插入或者删除操作
2.array常用迭代器
int main()
{
array<int,10>a ={1,2,3,4,5,6,7,8,9,10 };//a1类型为int,长度为10
//利用迭代器输出a的内容
for(array<int,10>::const_iterator it = a.cbegin();it != a.cend(); ++it)
cout << *it <<" ";
cout << endl;
//利用迭代器把元素的值*2
for(auto it=a.begin();it != a.end();++it)
*it = *it * 2;
//从后往前输出a的内容
for(auto it= a.rbegin();it != a.rend(); ++it)
Cout << *it <<" ";
cout << endl;
return 0;
}
3.array常用运算符
/输出arr的所有兀素
void Show(const array<int,5>& arr)
{for(auto x:arr)
cout << x<<" ";
cout << endl;
}
int main()
{
array<int,5>a1{1,2,3,4,5};
array<int,5>a2;
a2= a1;//把a1的值全部赋值给a2
cout <<“a1:";
Show(a1);
cout <<"a2:";
Show(a2);
if(a1 == a2)//判断a1是否等于a2
cout<<“a1==a2"<< endl << endl;
a1[3]= 100;//通过[]修改a1的元素
cout <<"a1[3]=100后"<<endl<<"a1:";
Show(a1);
cout <<"a2:";
Show(a2);
if(a1 != a2)//判断两个array对象是否不相等
cout<<"a1 != a2"<< endl;
if(a1< a2)//判断a1,a2的大小
cout<<"a1< a2"<< endl;
else if(a1 >a2)
cout<<"a1 >a2"<< endl;
else
cout <<"a1 == a2"<< endl;
return 0;
}
下面是=运算符的其他应用
int main()
{
array<int,5>a1{1,2,3,4,5};
array<int, 10>a2;
array<double,5>a3;
int a4[10]={1,2,3,4,5,6,7,8,9,10};
//a2 = a1;//错误,长度不匹配
//a3 = a1;//错误,类型不匹配
a2 ={1,2,3};//合法,a2剩余部分为8
//a2 = a4;//非法。内置数组不能整体赋值
a3={};//合法,a3的值都是
return 0;
}
4.array常用成员函数
at成员函数:访问指定位置的元素和[类似。 at中的位置如果超出范围会抛出range-error异常
empty成员函数:仅当N=0,即数组长度为0时返回true
size成员函数:返回元素个数,针对array的某个对象这个值是固定的(因为array不允许插入和删除)。
front成员函数:返回第一个元素的引用。对象必须非空。
back成员函数:返回最后一个元素的引用。对象必须非空
fill成员函数:清除对象原来的数据,把每个元素设置为指定的值
swap成员函数:交换两个array对象的数据,两个对象类型和长度必须一样
相关文章:
STL学习-顺序容器-array数组
array模板类是C11引入。它是有着固定大小用于保存一系列同类型元素的顺序容容器,因此不能对它进行增加或者删除,只能使用或者替换它的元素值。 1.定义及初始化 array定义对象时,需要传入类型和大小,且大小不能修改。array是唯--个如果不初始化,它的初始化是不明确…...
Spring Boot框架下的酒店住宿登记系统
2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…...
electron展示下载进度条
我们使用electron下载文件时,会发现不像浏览器一样会有地方展示下载进度,这导致下载一些大文件时不知道下载进度到哪里了 下面我们通过electron提供的will-download监听和element-plus中的ElNotification和ElProgress组件实现这一功能 实现逻辑 触发…...
Spark 基础操作
Spark 操作 创建操作(Creation Operation) 用于RDD创建工作。RDD创建只有两种方法,一种是来自于内存集合和外部存储系统,另一种是通过转换操作生成的RDD 转换操作(Transformation Operation) 将RDD通过一定的操作变成新的RDD,比如HadoopR…...
VoLTE 微案例:VoLTE 注册失败,I-CSCF 返回 403,HSS(UAR) 返回 5001
目录 1. 问题描述 2. 故障注册流程与正常流程对照 3. 结论 博主wx:yuanlai45_csdn 博主qq:2777137742 想要 深入学习 5GC IMS 等通信知识(加入 51学通信),或者想要 cpp 方向修改简历,模拟面试,学习指导都可以添加博主低价指导哈。 1. 问题描述...
智能财务 | 数据与融合,激发企业财务数智化转型思考
数据与融合,激发企业财务数智化转型思考 用友持续深耕企业财务领域,见证中国企业走过了财务电算化、信息化时代,当下共同经历数智化时代。2023 年度,通过走访标杆企业,与高校教授、权威机构学者共同探讨等形式…...
docker 下载netcore 镜像
dotnet-docker/README.runtime.md at main dotnet/dotnet-docker GitHub docker pull mcr.microsoft.com/dotnet/runtime:8.0 docker pull mcr.microsoft.com/dotnet/runtime:3.1...
Ajax:请求 响应
Ajax:请求 & 响应 AjaxjQuery的Ajax接口$.get$.post$.ajax PostMan 接口测试getpost Ajax 浏览器中看到的数据,并不是保存在浏览器本地的,而是实时向服务器进行请求的。当服务器接收到请求,就会发回一个响应,此时浏…...
WebForms DataList 控件深入解析
WebForms DataList 控件深入解析 概述 在 ASP.NET WebForms 的众多服务器控件中,DataList 控件是一个功能强大的数据绑定控件,它允许开发者以表格形式展示和操作数据。DataList 控件类似于 Repeater 控件,但提供了更多的内置布局和样式选项…...
【有啥问啥】DINO:一种改进的去噪锚框的端到端目标检测器
DINO:一种改进的去噪锚框的端到端目标检测器 在目标检测领域,DINO(DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection)是一种创新的端到端目标检测模型,旨在解决传统目标检测算法中的一些关…...
自由学习记录(15)
Java注解 else if的省略问题(可能看花) else if也是取最近的if连通,看上去加了{}就可以正常执行了,缩进要命,不提示真容易看错, 组合数公式和数组参数 在 C 中,数组作为函数参数时,…...
Docker 部署 JDK11 图文并茂简单易懂
部署 JDK11 ( Docker ) [Step 1] : 下载JDK11 - JDK 11 | Oracle 甲骨文官网 [Step 2] : jdk11上传服务器/root/jdk11 可自行创建文件夹 进入目录 /root/jdk11 解压文件 tar -zxvf jdk-11.0.22_linux-x64_bin.tar.gz解压后 进入 /root/jdk11/jdk-11.0.22 创建 jre 文件 ./bi…...
Cisco ASAv虚拟防火墙
EVE-NG模拟器使用Cisco防火墙版本ASAv-9.20.3-PLR-Licensed。配置如下,主要是三个方面,配置管理口地址模式DHCP,配置安全级别;第二,开启http服务器,配置允许访问主机的网段和接口;最后配置用户名…...
w~自动驾驶合集6
我自己的原文哦~ https://blog.51cto.com/whaosoft/12286744 #自动驾驶的技术发展路线 端到端自动驾驶 Recent Advancements in End-to-End Autonomous Driving using Deep Learning: A SurveyEnd-to-end Autonomous Driving: Challenges and Frontiers 在线高精地图 HDMa…...
C/C++ H264文件解析
C实现H264文件以及一段H264码流解析,源码如下: h264Parse.h: #ifndef _H264PARSE_H_ #define _H264PARSE_H_#include <fstream>class H264Parse { public:int open_file(const std::string &filename);/*** brief 从文件中读取一个nalu&…...
【Windows】电脑端口明明没有进程占用但显示端口被占用(动态端口)
TOC 一、问题 重启电脑后,启用某个服务显示1089端口被占用。 查看是哪个进程占用了: netstat -aon | findstr "1089"没有输出,但是换其他端口,是可以看到相关进程的: 现在最简单的方式是给我的服务指定另…...
Redis 持久化 问题
前言 相关系列 《Redis & 目录》(持续更新)《Redis & 持久化 & 源码》(学习过程/多有漏误/仅作参考/不再更新)《Redis & 持久化 & 总结》(学习总结/最新最准/持续更新)《Redis & …...
vivado 配置
配置 配置指的是将特定应用数据加载到 FPGA 器件的内部存储器的进程。 赛灵思 FPGA 配置数据储存在 CMOS 配置锁存 (CCL) 中,因此配置数据很不稳定,且在每次 FPGA 器件上电后都必须重 新加载。 赛灵思 FPGA 器件可通过配置引脚,自行…...
Java如何实现PDF转高质量图片
大家好,我是 V 哥。在Java中,将PDF文件转换为高质量的图片可以使用不同的库,其中最常用的库之一是 Apache PDFBox。通过该库,你可以读取PDF文件,并将每一页转换为图像文件。为了提高图像的质量,你可以指定分…...
itemStyle.normal.label is deprecated, use label instead.
itemStyle.normal.label is deprecated, use label instead. normal’hierarchy in label has been removed since 4.0. All style properties are configured in label directly now. 错误写法: itemStyle: {normal: {// color: #00E0FF, // 设置折线点颜色 labe…...
如何在 Linux VPS 上保护 MySQL 和 MariaDB 数据库
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 简介 有许多在 Linux 和类 Unix 系统上可用的 SQL 数据库语言实现。MySQL 和 MariaDB 是在服务器环境中部署关系型数据库的两个流行选项…...
CSS 样式 box-sizing: border-box; 用于控制元素的盒模型如何计算宽度和高度
文章目录 box-sizing: border-box; 的含义默认盒模型 (content-box)border-box 盒模型 在微信小程序中的应用示例 在微信小程序中,CSS 样式 box-sizing: border-box; 用于控制元素的盒模型如何计算宽度和高度。具体来说, box-sizing: border-box; 会改…...
预训练 BERT 使用 Hugging Face 和 PyTorch 在 AMD GPU 上
Pre-training BERT using Hugging Face & PyTorch on an AMD GPU — ROCm Blogs 2024年1月26日,作者:Vara Lakshmi Bayanagari. 这篇博客解释了如何从头开始使用 Hugging Face 库和 PyTorch 后端在 AMD GPU 上为英文语料(WikiText-103-raw-v1)预训练…...
鸿蒙是必经之路
少了大嘴的发布会,老实讲有点让人昏昏入睡。关于技术本身的东西,放在后面。 我想想来加把油~ 鸿蒙发布后褒贬不一,其中很多人不太看好鸿蒙,一方面是开源性、一方面是南向北向的利益问题。 不说技术的领先点,我只扯扯…...
Java项目实战II基于微信小程序的马拉松报名系统(开发文档+数据库+源码)
目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 马拉松运动…...
家用wifi的ip地址固定吗?换wifi就是换ip地址吗
在探讨家用WiFi的IP地址是否固定,以及换WiFi是否就意味着换IP地址这两个问题时,我们首先需要明确几个关键概念:IP地址、家用WiFi网络、以及它们之间的相互作用。 一、家用WiFi的IP地址固定性 家用WiFi环境中的IP地址通常涉及两类:…...
codeforces _ 补题
C. Ball in Berland 传送门:Problem - C - Codeforces 题意: 思路:容斥原理 考虑 第 i 对情侣组合 ,男生为 a ,女生为 b ,那么考虑与之匹配的情侣 必须没有 a | b ,一共有 k 对情侣&#x…...
DataSophon集成ApacheImpala的过程
注意: 本次安装操作系统环境为Anolis8.9(Centos7和Centos8应该也一样) DataSophon版本为DDP-1.2.1 整合的安装包我放网盘了: 通过网盘分享的文件:impala-4.4.1.tar.gz等2个文件 链接: https://pan.baidu.com/s/18KfkO_BEFa5gVcc16I-Yew?pwdza4k 提取码: za4k 1…...
深入探讨TCP/IP协议基础
在当今数字化的时代,计算机网络已经成为人们生活和工作中不可或缺的一部分。而 TCP/IP 协议作为计算机网络的核心协议,更是支撑着全球互联网的运行。本文将深入探讨常见的 TCP/IP 协议基础,带你了解计算机网络的奥秘。 一、计算机网络概述 计…...
《Windows PE》7.4 资源表应用
本节我们将通过两个示例程序,演示对PE文件内图标资源的置换与提取。 本节必须掌握的知识点: 更改图标 提取图标资源 7.4.1 更改图标 让我们来做一个实验,替换PE文件中现有的图标。如果手工替换,一定是先找到资源表,…...
网站怎么防k/三台网站seo
有没有一种,情况: 1. 程序A打开了文件管理器; 2. 程序B又打开了文件管理器; 导致开了两个文件管理器,太不舒服了; 搜索下 kubuntu dolphin single instance,果然找到了解决方法: 文件…...
新疆 网站开发/哪里能搜索引擎优化
安装问题 PHP Fatal error: Uncaught Error: Call to undefined function tsingsun\swoole\server\posix_kill() in /data/app/im/vendor/tsingsun/yii2-swoole/src/server/Server.php:248 查了下,php的扩展posix没开,php版本php7.1,环境CentOS7,使用如下…...
网站备案失败/企业邮箱哪个好
首先参考该文:http://www.cnblogs.com/happyhippy/archive/2007/04/08/710933.html下载具体的symbols文件,我用的是xpsp2的188M的那个文件,然后按照该文的设置进行,如果你进入windbg界面再命令行下输入.sympath没有什么错误提示&a…...
规范门户网站建设/石家庄关键词排名首页
随着我国社会经济的快速发展,“十二五”期间政府继续大力推动“平安城市”、“智慧城市”建设,另外安防监控设备企业自身的创新拓展加之与IT企业、电信企业、家电企业的交融发展,极大地扩充了安防的内涵和应用领域。我国安防行业又将进入一个…...
做移门图的 网站有哪些/seo北京公司
概要 电影文件有很多基本的组成部分。首先,文件本身被称为容器Container,容器的类型决定了信息被存放在文件中的位置。AVI和Quicktime就是容器的例子。接着,你有一组流,例如,你经常有的是一个音频流和一个视频流。&…...
版本设计网站/北京全网营销推广
数据倾斜是怎么发生的? 数据倾斜:shuffle过程数据分布不均匀。 shuffle:洗牌。 分步式计算,相同key的数据会到一个节点去处理。 举个例子:某宝想统计各个商家的一年销售额,有的商家卖了很多产品࿰…...