STL源码分析(1) -- STL介绍和源码分析之前的一些准备

作为一个初学者,我最头疼的事就是分析源代码,但是不管怎么样,这块硬骨头始终需要我们去啃,因为当我们对一门语言的语法有个基础的了解之后,能加深对这么语言的理解和应用的最好最快的办法就是分析源代码了,所以我选择对C++的模板库进行源码分析。

首先,因为C++标准中只规定了,STL中每个类的接口,并没有规定它的具体实现,所以,对于STL的实现,流行着好几个不同的版本,关于这几个版本的详细介绍,在侯捷前辈的《STL源码剖析》中可以找到,这个大家可以自己找资料了解一下。不过,在这些实现版本中,以SGI版最为经典,但是它的源码不适合我们初学者直接上手分析。所以,一般我们都会选择VC6.0里面的实现版本 -- PJ版本,因为该版本的作者是P.J.Plauger,所以称为PJ版本。

PJ版本,如果大家有装VC++6.0的话,一般会在  C:\Program Files\Microsoft Visual Studio\VC98\Include  这个目录下找到PJ版STL的头文件,如果找不到,你也可以先创建一个STL容器的对象,例如list<int> my_list;编译,右键选择转到定义,找到list的头文件。


点击弹出菜单的 Go To Definition Of list  即可

因为vc6.0在64位机运行效果不太好,所以想要安装vc6.0的 话建议在虚拟机上装xp安装vc6.0,对于初学者来说,最好还是使用vc6.0。

如果你没有vc6.0 而且  你也不想安装它,我已经上传了这些源代码,你可以在这里下载  http://download.csdn.net/detail/github_36186488/9667968

我也上传了SGI版的STL源码,大家可以在这里下载  http://download.csdn.net/detail/github_36186488/9667971

另外 关于源码分析   大家可以参考两本书   PJ版的源码分析《STL中文版》 SGI版的源码分析 侯捷前辈的《STL源码剖析》

这两本书,我也都上传了   供大家参考   

《STL中文版》 http://download.csdn.net/detail/github_36186488/9667981

《STL源码剖析》   http://download.csdn.net/detail/github_36186488/9667978


 

关于vc6.0因为比较大,我先不上传了,大家可以自己先找找,如果实在找不到,可以联系我。

下次我将会为大家分析PJ版的list源码,如果有同样在学C++的同学,我们可以相互关注,共同进步。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值