博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组的选择--固定大小数组模板array存在的意义!
阅读量:4567 次
发布时间:2019-06-08

本文共 1471 字,大约阅读时间需要 4 分钟。

    主要就是为了使用的方便,更加容易和algorithm的算法结合的更好!

#include 
#include
#include
#include
#include
#include
using namespace std; using namespace std::tr1; int getRand() { return rand()% 90 + 10; // 保证是两位数! } template < typename Iter > // 只支持int,这里只是用来演示 void print( Iter first,Iter last ) { copy( first,last, ostream_iterator< int >( cout," ") ); cout<< endl; } int main() { srand( (unsigned)time( NULL ) ); int test1_array[20]; generate( test1_array,test1_array + 20, getRand ); print( test1_array,test1_array + 20 ); sort( test1_array,test1_array+20, greater
() ); print( test1_array,test1_array + 20 ); // 无法用print倒着输出! cout<<"大小是"<< sizeof(test1_array) / sizeof(int) <
test2_array; generate( test2_array.begin(), test2_array.end(), getRand ); print( test2_array.begin(), test2_array.end() ); sort( test2_array.begin(), test2_array.end() ); print( test2_array.begin(),test2_array.end() ); cout<< "大小是"<
<
test3_array; generate( test3_array.begin(), test3_array.end(), getRand ); print( test3_array.begin(),test3_array.end() ); print( test3_array.rbegin(),test3_array.rend() ); return 0; }

// 另外boost::array和tr1::array使用一样!

通过代码相信大家都已经看到了,使用这种固定数组模板能够用起来更方便,而且在效率上也不会有太大的开销。
个人对此的一些建议:
1.当我们只是把一个数组用来存放一些东西而且是固定大小的时候我们都使用C风格的数组。
2.如果我们对它的操作频繁涉及到很多算法的时候,我们可以考虑array模板!
3.当大小需要变动的时候建议使用其它标准容器!

转载于:https://www.cnblogs.com/rollenholt/archive/2012/04/02/2429823.html

你可能感兴趣的文章
解决SharePoint2010文档库中新建文档不是保存到文档库而是保存到本地电脑的问题...
查看>>
hadoop3.0新特性及新功能
查看>>
数据库面试常问的一些基本概念
查看>>
Intent中的四个重要属性——Action、Data、Category、Extras
查看>>
Android 自定义 ViewPager 打造千变万化的图片切换效果
查看>>
泛型集合的运用--DataSet转换为泛型集合
查看>>
IsBackground的理解
查看>>
Java中的Scoket编程
查看>>
WPF邮件群发工具开发 之 进度条(属性改变通知机制)的实现
查看>>
ubuntu14.04 放开串口权限
查看>>
HttpClient封装工具类
查看>>
机器学习 回归算法
查看>>
SSM博客登录注册
查看>>
在Linux系统上部署发布java web系统(Ubuntu16.04)
查看>>
shell 学习之脚本编写1
查看>>
winForm 程序开发界面参数传递
查看>>
查询计算机启动了多长时间的工具
查看>>
【转】Spring MySQL 事务隔离级别,传播机制,savepoint
查看>>
IOS 开发中的KVC 和KVO
查看>>
05-Python基础之函数基础
查看>>