+ -
当前位置:首页 → 问答吧 → 我也来谈谈关于是否使用STL

我也来谈谈关于是否使用STL

时间:2010-07-05

来源:互联网

STL是C++标准库的一部分,于C++语言中的地位,与C运行库于C语言中的地位相当。

如果STL不能给你带来益处的话,也没人会强制你使用它。同样的,如果你觉得自己实现的strcpy或者printf比C运行库的更适合自己的程序及环境,没人会反对你用自己的实现。

但是标准库的意义在于标准,意味着这个库在所有声称符合标准的语言实现上的通用性。使用标准库可以让你的程序更易于被其他同样掌握标准的程序员理解。也使得你的程序在无需更多额外工作的前提下更具备移植性。

使用STL来做不见得最快,但是在节约开发时间方面的效果是显著的,很大程度上得益于泛型,使得C++在代码复用方面不输于其他语言。

如果真的追求极致效率的程序,根本就不用讨论是否使用STL,因为根本就不应该考虑使用C++。众多的实践经验以及对照数据证明用C要更快一些,对效率最关键的地方应该用汇编实现。

作者: 没本   发布时间: 2010-07-05

我先看看。

作者: donglongchao   发布时间: 2010-07-05

可能在有些人眼里,STL难学难用,不够傻瓜化,不太"实用"。

作者: donglongchao   发布时间: 2010-07-05

程序中是否能用STL是要看具体情况的。STL存在线程安全,效率,二进程序臃肿等多种问题

作者: koolcoy   发布时间: 2010-07-05

大量使用模板还会造成程序的编译时间剧增,这会增加开发成本的

作者: koolcoy   发布时间: 2010-07-05

He says that developers "invariably start using the 'nice' library features of the language like STL and Boost and other total and utter crap," that may "help" you program, but they cause infinite amounts of pain when they don't work and inefficient abstracted programming models.

linus 大神的看法。

我也支持用stl, 但是是有限度的。 有限度的。stl 还是很坚固的。但是不是万能的。 比如你用map 排序了2kw个int。

没什么可争论的,就像汽车,不是绝对安全,但是大家都用它

作者: benjiam   发布时间: 2010-07-05

顶。观点相同。

作者: shmild   发布时间: 2010-07-05

这是些很实用的东西,免去造轮子的繁冗。

作者: Panizzi   发布时间: 2010-07-05

STL不好学吗?我认为是C++中最容易学的了。。。。

作者: tyc611   发布时间: 2010-07-05



QUOTE:
STL不好学吗?我认为是C++中最容易学的了。。。。
tyc611 发表于 2010-07-05 17:13


真的?我觉得学好用好挺难的 。

作者: donglongchao   发布时间: 2010-07-05

STL好学吗?侯老师说过STL的三境界
第一境界:熟用STL
第二境界:了解泛型技术的内涵与STL的原理
第三境界:扩充STL

作者: shmild   发布时间: 2010-07-05

《C++标准程序库》和《STL源码剖析》这两本书我都收藏了的。侯捷的《STL源码剖析》写得也不错,尽管有些地方的分析还是有小错,一些地方和前一本有内容重复,但总体上是很有价值的。

作者: 没本   发布时间: 2010-07-05