C++11的array容器怎么使用
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇内容介绍了"C++11的array容器怎么使用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!内置
千家信息网最后更新 2026年11月02日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安全错误
数据库的锁怎样保障安全
广州大一互联网络科技有限公司
盈实互联网科技
金诺互联网科技
互联网科技论文
米客互联网科技
恒生科技互联网指数分析
互联网科技公司招聘
须眉科技是互联网公司吗
广西互联网科技孵化中心
恒生互联网科技业指数调整周期
为客找房互联网科技公司怎么样
伍佰万互联网科技怎么赚钱
21世纪互联网科技成就
互联网风格科技公司名称
新氧科技和美国互联网有关系吗
互联网科技接地气
北京互联网科技类企业分布
互联网科技的前景
陕西彩京云互联网科技有限公司
上海旺乐尼互联网科技有限公司
科技互联网政务服务
互联网医疗科技
互联网科技美容
中国互联网有什么科技含量
互联网系的金融科技公司
互联网科技革命什么开始
翼展科技 首家互联网医院
互联网方面的科技前沿
互联网风格科技公司名称
华人运通互联网科技公司