C++11的array容器怎么使用
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,本篇内容介绍了"C++11的array容器怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!内置
千家信息网最后更新 2025年02月03日C++11的array容器怎么使用
本篇内容介绍了"C++11的array容器怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
内置数组
数组是C语言中最常用的数据结构之一,但是它的使用比较麻烦。首先是大小没有管理,二是越界操作没有检查。虽然C/C++也提供了一些解决办法,但总是不够完美。例如下面的代码:
int ary[5];
memset(ary, 0, sizeof(ary));
unsigned int i = 0;
while(i ary[i] = i;
i++;
}
对于元素的个数通过sizeof计算数组中元素的个数,是否越界,就只能靠程序员自己来保证了。
array容器
C++11中引入了array容器,基本上解决了内置数组的问题:
std::array c11ary;
c11ary.fill(0);
unsigned int i = 0;
while(i c11ary.at(i) = i;
i++;
}
这段代码中,
使用fill方法实现了数据填充。
使用size方法取得数组的大小。
虽然at(i)方法实现带有越界检查的读写。
没有免费的误餐
为了了解array容器的性能,我们编写下面的代码来测试写入效率:
DWORD begin = GetTickCount();
std::array ary;
//int ary[10000];
//std::vector ary(10000,0);
std::cout << sizeof(ary) << std::endl;
for(int s = 0; s < 10000; s++){
for(int i = 0; i < 10000; i++){
ary[i] = s + i;
}
}
DWORD end = GetTickCount();
std::cout << end - begin << std::endl;
代码分别使用array容器,内置数组,vector容器进行了确认,结果如下:
首先是占用空间的比较结果:array容器和内置数组占用相同的内存空间,vector只有12Byte,真正用于保存数据的内容应该是从堆中获取的。
写入速度的比较结果:内置数组的速度最快,vector容器次之,array容器最慢。
但从array和内置数组的比较结果来讲,牺牲了一些性能,换来了安全和便利。但是vector的效率超过array,让人很意外。
"C++11的array容器怎么使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
容器
数组
代码
结果
内容
数据
方法
个数
元素
大小
性能
效率
更多
知识
空间
速度
面的
检查
实用
最快
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机网络技术专业网页设计
硬盘服务器
网络安全手抄报可爱版简单又漂亮
goahead服务器允许跨域
麻醉相关的数据库
十四五网络安全规划图
天津常规软件开发推荐货源
奔4服务器
网络安全工程师阿里巴巴
亚马逊渠道服务器多少钱
软件开发最新调研报告
云南软件开发有限公司
客户数据库维护是什么岗位
文档分享服务器错误
魔兽哪个服务器好啊
数据库查看库列表的命令
怎么入侵网站服务器
郑州软件开发简介
云桌面管理服务器如何实现的
盐城荟创互联网科技公司
北京张舟帆网络技术有限公司
软件开发详细设计的英文
软件开发关系图
腾讯云服务器能挂手机上吗
数据库中的数据是存储在哪
闲鱼软件开发破解
R830服务器HBA卡安装视频
ansys仿真用什么服务器
东方财富跨股票引用数据库
html 调用数据库