搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 学习STL的困惑
标题:
学习STL的困惑
只看楼主
lsrwan
等 级:
论坛游民
帖 子:31
专家分:17
注 册:2009-10-11
结帖率:
90%
楼主
已结贴
√
问题点数:20 回复次数:1
学习STL的困惑
各位前辈,我学习stl有个困惑,比如我要求一个数组的累加,那我要把数组先转化为容器,然后调类属算法去累加,那我直接写个循环求累加不是更快,学到这里一直搞不明白其中的道理,忘各位前辈指点迷津,在一个小程序里面,我发现不用STL甚至比用还快,因为生成容器对象都要耗费很多的计算量,是不是小程序或简单数据结构就不用STL了。
搜索更多相关主题的帖子:
STL
困惑
学习
2010-04-28 22:30
debroa723
等 级:
贵宾
威 望:
23
帖 子:862
专家分:1954
注 册:2008-10-12
第
2
楼
得分:20
从抽象意义上看,数组和容器都是一组数据,而我们对一组的数据的操作不仅仅是在生成上,还有查找、添加、删除、排序,STL给出了一系列的模板,从代码重用角度,它把我们从这些操作中解脱出来,更加关注逻辑上的考虑,不然,就需要对每个数组做以上操作的函数代码。这是代码重用角度的好处。
从效率上说,STL的整体效率并不会比自己写的数组操作函数低,虽然有可能在某些数据数组的操作上,效率不高,但现在的编程中,数据大多是复杂的结构或是类对象,对复杂的结构的数据,STL体现出它的强大。
前面你说到“要把数组先转化为容器”,是不是应该把数据一开始就放到容器里,这样不用在使用的时候还要先转化一次了。
2010-04-30 14:41
2
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-304794-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.017537 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved