C++ STL(标准模板库) 学习资源列表

本文汇总了C++标准模板库(STL)的学习资源,包括权威网站、经典书籍及技术文章,适合初学者和进阶者使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++ STL(标准模板库) 学习资源列表

作者: winter

STL以其独特的魅力得到越来越多的程序员钟爱,STL彻底封装复杂的数据结构,提供丰富灵活的程序接口,同时还能保证程序的运行效率。上次整理的STL技术文章列表得到许多朋友的捧场,这里整理更全面的STL学习资源列表,希望对朋友们有所帮助。

STL网站类

SGI STL  ★★★★★

SGI STL是目前应用最为广泛的STL版本了。此网站提供SGI STL源码下载,还提供相应的STL编程帮助文档,以及部分设计文档。不过对于STL刚开始学习的朋友来说,可以放在第二步学习。

STLport ★★★★★

STLport STL完全可以与SGI STL媲美。此网站提供STLport STL源码下载,在线帮助,同时也提供一些STL资源列表,都是英文的,不过看看无妨。在C++ Builder中使用的就是STLport

Dinkumware VC/VC.net STL.net官方网站 ★★★★

也是常说的P.J. STL官方网站。如果使用MS的C++开发工具,这个网站是不能少的,从VC6到VC7,STL方面已经得到了质的飞跃,在随后的5年之内,MS都会使用Dinkumware 的STL版本。

Rouge Wave STL ★★★

Windows平台下的C++ Builder STL以前的版本,具有一定的声誉,但相比前几个版本来说,略落后一些,主要是在性能方面。目前在其首页已经找不到STL的资料了,只能从支持文档中得到部分资料。

Center of STL Study (最优秀的STL学习网站) ★★★★★

以Blog的形式,提供STL学习资料,收集了大量的STL电子书,技术论文,应用实例等,而且在不断更新。对于初学者和深入研究STL的朋友,都是一个很不错的网站。

STL书籍类

(此处所列的STL书籍,均提供电子版下载):

The C++ Standard Library : A Tutorial and Reference ★★★★★

这本是最为经典的一本STL教材,可以作为自学教程,也可作为参考手册。目前已经有中文版,书名为《C++ 标准程序库》候捷和孟岩翻译,华中科技大学出版社。翻译得很不错,只是价格偏高,一百多,如果英文不错还是看英文版吧:)。

Effective STL(英文版) ★★★

Effective STL是一本非常好的书,帮助你更好的理解STL,其作者就是《Effective C++》一书的作者。如果你已经初步了解了STL的容器、迭代器、算法和函数,而又想更好的了解STL,那么《Effective STL》是你的最佳选择。

Effective STL(中文版) ★★★★★

Effective STL中文版是由龚敏敏翻译,很不错,强烈推荐。如果你想看看其他人翻译得,也可以查看Effective STL 中文版(大全)。各有特色。

STL编程指南(Programmer's Guide) ★★★★★

《STL编程指南》本电子书把SGI STL的相关帮助文档集合在一起,形成chm格式文档,查阅起来非常方便。使用STL编程的必备手册,比拟于VC的MSDN,Linux/Unix平台下的man命令。

STL源码剖析(候捷) ★★★★

如果希望全面理解STL内部机制,如果希望真正精通掌握STL,如果希望从STL中学习更多的编程技巧,那么你一定要看这本书。可惜的这里只有上册电子版下载,找不到下册。

STL 中文站 ★★★★★

STL 中文站是目前最专业介绍STL的中文网站,网站收集了STL技术文章,提供STL电子书下载。并且有大量的原创文章,值得收藏。

其它 C++ STL电子书下载 ★★★★

那里还包括各种版本的STL电子书下载,而且还在陆续更新,值得推荐。

技术文章类

STL技术文章不完全列表(STL学习使用指南) ★★★★★

为Winter所作的,按不同类别进行整理,而且在更新中。

CodeGuru上的STL技术文章。  ★★★

CodeGuru就不用介绍了吧,其收录的文章也不错。都是英文。

CodePreject网站上的STL文章。 ★★★★★

又一个经典网站,看看就知道了,目前许多中文的技术文章其英文版,在上面都有。

<p> 说明:最新的资源列表请参看: 最新 C++ STL(标准模板库) 学习资源列表 | 引用  
》灰《《常好的STL教程Effective STL 目录 容器 条款1: 仔细选择你要的容器 条款2: 小心对“容器无关代码”的幻想 条款3: 使容器里对象的拷贝操作轻量而正确 条款4: 用empty来代替检查size是否为0 条款5: 尽量使用范围成员函数代替他们的单元素兄弟 条款6: 警惕C++及其令人恼怒的分析 条款7: 当使用new得指针的容器时,切记在容器销毁前delete那些指针 条款8: 千万不要把auto_ptr放入容器中 条款9: 小心选择删除选项 条款10: 当心allocator的协定和约束 条款11: 了解自定义allocator的正统使用法 条款12: 对STL容器的线程安全性的期待现实一些 vector和string 条款13: 尽量使用vector和string来代替动态申请的数组 条款14: 用reserve来避免不必要的内存重新分配 条款15: 当心string的实现中的变化 条款16: 如何将vector和string的数据传给传统的API 条款17: 用“交换技巧”来修正过度的容量 条款18: 避免使用vector 关联容器 条款19: 了解相等和等价的区别 条款20: 为包含指针的关联容器指定比较类型 条款21: 永远让比较函数对相等的值返回false 条款22: 避免对set和multiset的键值进行修改 条款23: 考虑用排序的vector代替关联容器 条款24: 当效率很关键时尽量用map::insert代替map::operator 条款25: 让自己熟悉非标准的hash容器 迭代器 条款26: 尽量使用iterator代替const_iterator,reverse_iterator和const_reverse_iterator 条款27: 使用distance和advance把const_iterators转化成iterators 条款28: 了解如何过reverse_iterator的base得到iterator 条款29: 需要一字符一字符输入时请用istreambuf_iterator 算法 条款30: 确保目的范围足够大 条款31: 了解你的排序选项 条款32: 如果你真的想删除东西的话在remove-like的算法后紧接上erase 条款33: 当心在包含指针的容器使用remove-like的算法 条款34: 注意哪些算法需要排序过的范围 条款35: 过mismatch或lexicographical_compare实现简单的忽略大小写字符串比较 条款36: 用not1和remove_copy_if来表现copy_if 条款37: 用accumulate或for_each来统计序列 仿函数,仿函数类,函数等等 条款38: 把仿函数类设计成值传递的 条款39: 用纯函数做predicate 条款40: 增强仿函数类的适应性 条款41: 明确ptr_fun, mem_fun和mem_fun_ref的区别 条款42: 保证less是operator<的意思 用STL编程 条款43: 尽量用算法调用代替手写循环 条款44: 尽量用成员函数代替同名的算法 条款45: 注意count、find、binary_search、lower_bound、upper_bound和equal_range的区别 条款46: 考虑用函数对象代替函数作为算法的参数 条款47: 避免产生只写代码 条款48: 总是#include适当的头文件 条款49: 学会破解STL相关的编译器出错信息 条款50: 让自己熟悉STL相关的网站
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值