| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 583 人关注过本帖
标题:学习STL的困惑
只看楼主 加入收藏
lsrwan
Rank: 2
等 级:论坛游民
帖 子:31
专家分:17
注 册:2009-10-11
结帖率:90%
收藏
已结贴  问题点数:20 回复次数:1 
学习STL的困惑
各位前辈,我学习stl有个困惑,比如我要求一个数组的累加,那我要把数组先转化为容器,然后调类属算法去累加,那我直接写个循环求累加不是更快,学到这里一直搞不明白其中的道理,忘各位前辈指点迷津,在一个小程序里面,我发现不用STL甚至比用还快,因为生成容器对象都要耗费很多的计算量,是不是小程序或简单数据结构就不用STL了。
搜索更多相关主题的帖子: STL 困惑 学习 
2010-04-28 22:30
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
收藏
得分:20 
从抽象意义上看,数组和容器都是一组数据,而我们对一组的数据的操作不仅仅是在生成上,还有查找、添加、删除、排序,STL给出了一系列的模板,从代码重用角度,它把我们从这些操作中解脱出来,更加关注逻辑上的考虑,不然,就需要对每个数组做以上操作的函数代码。这是代码重用角度的好处。
从效率上说,STL的整体效率并不会比自己写的数组操作函数低,虽然有可能在某些数据数组的操作上,效率不高,但现在的编程中,数据大多是复杂的结构或是类对象,对复杂的结构的数据,STL体现出它的强大。
前面你说到“要把数组先转化为容器”,是不是应该把数据一开始就放到容器里,这样不用在使用的时候还要先转化一次了。
2010-04-30 14:41
快速回复:学习STL的困惑
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014839 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved