stl学习总结简略
这几天大概看了一下《c++stl开发技术导引》,这本书写的不错,详细的介绍浏览stl的方方面
面,包括容器,迭代器,算法,函数对象等。
书中还介绍了非标准容器,如slist(单链表),hash_map,hash_set等,这些容器需要stlport
的支持,后来我发现最新版的gcc也支持,推荐tdm-gcc(我使用mingw时出现了错误),下载地址
为http://tdm-gcc.tdragon.net,使用非标准容器时做如下修改。
#include <ext/slist>//非标准容器需要加ext,如slist
using namespace std;
using namespace __gnu_cxx;//非标准容器需要加
stl在C++里最开始是用面向对象方式实现,可想而知非常麻烦,后来C++有了泛型,stl实现就
容易多了。stl的核心思想提供通用的抽象数据类型(ADT)和操作这些数据的算法,因此使用时
需要包含相应的数据类型头文件和算法头文件(如果使用算法)。
学习stl主要是理解stl的思想,如何通过算法使用迭代器操作容器里的数据,高级一点的在算
法里使用自定义操作(函数对象)。虽然stl有很多容器,但是我觉得没有必要一个一个学习,学
习一种容器后其它容器自然触类旁通,到用的时候再查找文档就行。之后写几个stl里的算法测试,
熟悉如何操作容器里的数据。
作者:半山
出处:http://www.cnblogs.com/xdao/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。