STL源码剖析学习笔记(一)

本文介绍了STL的历史、主要组件(container, algorithm, iterator, functor, adapter, allocator)以及Allocator的重要性。重点讨论了Allocator的接口函数、SGI的配置器实现,包括destroy和construct的功能以及空间配置与释放策略。通过对STL的学习,有助于理解C++模板库的底层原理。" 108288516,9281596,锦标赛算法解析:递归实现满二叉树找亚军,"['算法', '二叉树']

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

STL源码剖析学习笔记(一)

本文主要是对侯捷《STL源码剖析》学习的知识点总结,以及自己搜集到的资料以及理解,若有任何建议以及意见请联系我

1,STL历史和简介

STL是C++的模板库(Standard Template Library),于1994年加入C++标准。加入标准后,造福了万千程序员,缩减了他们的工作量。STL是一个庞大,稳定,完整而可拓展的软件架构。使用STL后,你可能会想:如果能看到其实现,了解一下架构和原理,学习一下现成的、和每天工作息息相关的优秀代码,岂不美哉?学习牛人的代码总是提升自己的最快的途径,其障碍通常在于代码可读性,那么首先我们需要找一个切入点,一份可读性较高的STL源码。
先从STL的历史说起,STL由Alexander Stepanov创建于1979年前后,于1993年11月的ANSI/ISO C++标准委员会会议上展示其观念,获得热烈回应,最终于次年夏天完成提案,使这个巨大的计划成为C++标准规格的一部分。
STL是建立在泛型编程之上的,提供了六大组件:容器、算法、迭代器、仿函数、适配器、配置器。英文对应为container,alorithm,iterator,functor,adapter,allocator。

container

用来盛放数据的,字面意思是这样,实际上,就是实现了一系列的数据结构(dat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值