stl学习总结简略

这几天大概看了一下《c++stl开发技术导引》,这本书写的不错,详细的介绍浏览stl的方方面
面,包括容器,迭代器,算法,函数对象等。
    书中还介绍了非标准容器,如slist(单链表),hash_map,hash_set等,这些容器需要stlport
的支持,后来我发现最新版的gcc也支持,推荐tdm-gcc(我使用mingw时出现了错误),下载地址
为http://tdm-gcc.tdragon.net,使用非标准容器时做如下修改。
 
#include //非标准容器需要加ext,如slist
using namespace std;
using namespace __gnu_cxx;//非标准容器需要加
 
     stl在C++里最开始是用面向对象方式实现,可想而知非常麻烦,后来C++有了泛型,stl实现就
容易多了。stl的核心思想提供通用的抽象数据类型(ADT)和操作这些数据的算法,因此使用时
需要包含相应的数据类型头文件和算法头文件(如果使用算法)。
     学习stl主要是理解stl的思想,如何通过算法使用迭代器操作容器里的数据,高级一点的在算
法里使用自定义操作(函数对象)。虽然stl有很多容器,但是我觉得没有必要一个一个学习,学
习一种容器后其它容器自然触类旁通,到用的时候再查找文档就行。之后写几个stl里的算法测试,
熟悉如何操作容器里的数据。

你可能感兴趣的:(stl学习总结简略)