
1 jybox 2013 年 5 月 12 日 vector, map, 还有些常见算法, 显然很常用, 应该算是必须掌握的. STL因为通用性牺牲了一些性能, 应该不如你专为单一问题特别编写的算法, 但你很难写出性能更高的同样的通用算法了. |
3 bengol 2013 年 5 月 12 日 一般大型的公司/项目都有自己的基础设施框架 |
5 middleware 2013 年 5 月 12 日 对于通常 size 在 20 以下的小集合会用。大集合尽量少用。遇到瓶颈就毫不留情的 replace 掉。 |
6 Tinet OP @middleware 那这个对于一般数据处理(比如一般的网站的数据)是没什么用咯? |
8 funcman 2013 年 5 月 13 日 存指针而不是对象,性能基本上没有太大问题,也有助于减少bug。 实际项目中应用STL还是很多的,如果你是C++程序员,STL是必须学习的技术。 |
9 middleware 2013 年 5 月 13 日 |
10 vietor 2013 年 5 月 13 日 用STL库的时候,最重要的是:自己不要有写算法的冲动,寻找STL中已经实现的,可能会“绕一些弯”,但值得。STL的性能不用担心,因为大部分都采用inline方式实现,编译器能够优化的。最常用的就是map和list,因为接口都差不多,根绝性能要求替换实现也是很简单的,比如将list替换成vector |
11 chchwy 2013 年 5 月 13 日 我在的目是是大十行代的三件,基本方是能用STL就量用STL。 相於性能,STL代的可靠度的好更多。而且代compiler的化技非常好,下了-O2後,vector跟原生的性能差微乎其微。 |
12 txx 2013 年 5 月 13 日 via iPhone 必须是能用stl 绝对要用stl。就拿sort 来说。stl 会分析数据选择一个合适的算法排序 在深度什么情况下用heap 什么情况下用 qsort 什么情况下用基数 等等 人肉实现 一般情况下都不如 stl的 |
14 hooluupog 2013 年 5 月 13 日 stl还是值得信赖的,我私底下自己实现过一些算法,用原生的数组去做发现性能不比stl高多少。另外gcc 4.8已经用c++实现,里面就使用了stl。 |
16 matthewgao 2013 年 5 月 13 日 反正我的项目中是用的 |
17 Tinet OP @matthewgao 现在看来STL是必学的了,没白看这么久的英文原版书,我要进入石器时代咯 |
18 wenLiangcan 2013 年 5 月 13 日 歪一下楼,有人写了个C的: https://code.google.com/p/libcstl/ |
20 daoluan 2013 年 6 月 4 日 要看你是什么实际的项目,如果涉及 C++ 的地方,STL 都会有一席之地的。你学 STL 未必是为了用它,里面可以学到很多的数据结构和算法,这些对各个方向上的程序员来说都是基本素质的东西,不能不学,STL 只是更为深入。 @wenLiangcan 这个好强。 |
21 Ricepig 2013 年 6 月 4 日 via iPhone "有种从原始社会过度到石器时代的赶脚" 黑得漂亮! |
22 Golevka 2013 年 6 月 4 日 其实我是冲着STL里面的一堆高阶函数去的. 我感觉STL配合lambda能秒o|o十条街 |
23 chmlai 2013 年 6 月 4 日 如果不让用STL, 那我连C++都不用了. |
24 cluries 2013 年 6 月 4 日 为什么项目中不能大量使用STL呢?我们反正是大量使用的. STL有几种实现,不同实现性能差异还是比较大的. 然后就是STL中大坑小坑都不少,建议啃一下 Effective STL |
25 BOYPT 2013 年 6 月 5 日 STL是工程用料,工程上应该尽量使用。 这个跟在学校的“编程课”要求是不一样的,高校ACM里面经常你用STL提交的话还会因为超内存被挂。(学院派的去工程化是很多ACM大牛的代码质量那么差的原因~) |