侯捷stl源码剖析(侯捷stl源码剖析 云盘)
本文目录一览:
- 1、请问C++ STL有哪些经典书籍?
- 2、在阅读侯捷的STL源码剖析中遇到的”__VALUE_TYPE“
- 3、C++ STL有哪些经典书籍?
- 4、关于台湾技术作家侯捷老师的书籍
- 5、侯捷是谁?
- 6、《STL源码剖析》pdf下载在线阅读,求百度网盘云资源
请问C++ STL有哪些经典书籍?
C++标准程序库:自修教程与参考手册
Nicolai M.Josuttis (作者), 侯捷 (译者), 孟岩 (译者)
这是一本非常好的书,因为它的知识是非常详细的,作者的思想非常好,全书没有一点空话、废话,每一点知识都可以让我们思考学习。是站在读者的角度写的这本书。
此书是学习C++标准程序库的必读教材。
如果你初学C++,不要选择这本书。
应该先读一下primer或者The c++ programming language
如果你对C++有了一定的理解,对面向对象变成有基本的掌握。或者试着自己实现过string,vector等容器,那么读这本书将对你大有裨益。
如果你是高级程序员,那么这本书无疑可以成为你STL参考书的首选。
在阅读侯捷的STL源码剖析中遇到的”__VALUE_TYPE“
您好,#include iostream
#include vector
using namespace std;
int main()
{
int ia[5] = {0,1,2,3,4};
vectorint x;
vectorint::iterator ite;
x.insert(ite, ia, ia+5); //insert()
retrun 0;
}
出错侯捷stl源码剖析的原因是在定义ite时没有初始化ite。当调用此型insert函式时(当然调用insert(int value)不会出错,它不使用ite),它认为正确初始化了ite(ite此时为无效值,因为没有初始化),所以当它向ite所指向侯捷stl源码剖析的内存存放数据时出现非法访问。当侯捷stl源码剖析你在声明vectorint::iterator ite时进行了正确的初始化就不会出错了。
vectorint::iterator ite = x.begin();
书写此文可能有小题大作之嫌,这里指的错误是不初始化指针,但在本例子没有出现非法访问,因为它根本就没有使用ite。但是当我实际应用时,一定要注意初始化,千万不要以为侯老师这么写,就照搬抄写,那你一定会后悔的。作者只是重在语义,也可能是我理解错误。总之,此文仅供参考,如有错误还望来信指正,在下感激不尽。
C++ STL有哪些经典书籍?
经典书籍比较多,其中最经典的就是《C++标准程序库:自修教程与参考手册》。
1、《C++标准程序库:自修教程与参考手册》
这本书作为学习STL的第一本书是绝对适合的,一开始就会有C++语言的必备知识,以免你一头扎进STL中直接淹死。
《The C++ Standard Library》(中文版《C++ 标准程序库》)不仅对每一个程序库组件提供范围广泛的说明,也对繁杂的感念提供清楚明亮的解释,并描述高效运用这些组件时需要的实际编程细节,提出一个又一个的范例程序。
这本包含最新资料的完整书籍,反映出被 ANSI/ISO C++ 语言标准规格书纳入的 C++ 标准程序库的结构。更明确地说,本书将焦点放在标准模板库(Standard Template Library)身上,检验其中的容器(containers)、迭代器(iterators)、仿函数(functors)和算法(algorithms)。
你还可以找到特殊容器、字符串(strings)、数值类别、国际化议题、IOStream。每一个组件都有深刻的呈现,包括其介绍、设计、运用实例、细部解说、陷阱、意想不到的危险,以及相关类别和函数的确切标记(signature)和定义。
一份见解深刻的基础概念介绍和一个程序库综合鸟瞰,会对新手带来快速的提升。
2、《Effective STL 中文版: 50条有效使用STL的经验》
说到Scott Meyers的大名,C++程序员应该是无人不知无人不晓,他开创性的写了两本C++巨著《Effective C++》和《More Effective C++》都是每一个C++程序员必备书籍。
这本书自然也不例外,其中讲解了50条容易将C++程序员引入歧途的错误案例和正确修正使用方法。每一个使用STL的程序员都必备该书。
3、《STL源码剖析》
侯捷先生出品的书籍,一般品质都有所保证。这也是侯捷先生自己原创的一本书,这本书主要是深入到SGI版本的STL实现中,将STL的代码抽丝剥茧,将最鲜血淋漓的那部分取出来给大家指导清除。阅读这本书。
学习STL是次要的,学习数据结构是次要的,主要是要学习侯捷先生治学的精神和分析源代码的方式方法,这才是最重要的。这本书一再印刷,销量已经证明了一切。各大图书商城有售。
4、《STL扩展技术手册(卷1):集合和迭代器》
相信一大群读者没有听说过这本书,但是这本书也是非常值得推荐的一本STL书籍,这本书既不是教你STL怎么用,也不是教你STL的实现是怎么样的,而是教你如何扩展你自己的STL组件。基本上是国内C++图书界中唯一一本讲解STL扩展的专著。
作者之前写过一本《Imperfact C++》的书,这本书不知道为什么在国内的销量也不好,但是该作者的C++技术造诣非常深厚,他的著作也是每一个想要深入学习C++的读者所必读的书籍。作者本来打算将STL 扩展技术手册分为1,2两卷出版,可惜第一卷出版后,第二卷再也出不来了。
5、介绍
STL(StandardTemplate Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++Standard Library)中,是ANSI/ISOC++标准中最新的也是极具革命性的一部分。
该库包含了诸多在计算机科学领域里所常用的基本数据结构和基本算法。为广大C++程序员们提供了一个可扩展的应用框架,高度体现了软件的可复用性。
从逻辑层次来看,在STL中体现了泛型化程序设计的思想(genericprogramming),引入了诸多新的名词,比如像需求(requirements),概念(concept),模型(model),容器(container),算法(algorithmn),迭代子(iterator)等。
与OOP(object-orientedprogramming)中的多态(polymorphism)一样,泛型也是一种软件的复用技术;
从实现层次看,整个STL是以一种类型参数化(typeparameterized)的方式实现的,这种方式基于一个在早先C++标准中没有出现的语言特性--模板(template)。
如果查阅任何一个版本的STL源代码,你就会发现,模板作为构成整个STL的基石是一件千真万确的事情。除此之外,还有许多C++的新特性为STL的实现提供了方便;
6、STL的六大组件
· 容器(Container),是一种数据结构,如list,vector,和deques ,以模板类的方法提供。为了访问容器中的数据,可以使用由容器类输出的迭代器;
· 迭代器(Iterator),提供了访问容器中对象的方法。例如,可以使用一对迭代器指定list或vector中的一定范围的对象。迭代器就如同一个指针。事实上,C++的指针也是一种迭代器。但是,迭代器也可以是那些定义了operator*()以及其他类似于指针的操作符地方法的类对象;
· 算法(Algorithm),是用来操作容器中的数据的模板函数。例如,STL用sort()来对一个vector中的数据进行排序,用find()来搜索一个list中的对象,函数本身与他们操作的数据的结构和类型无关,因此他们可以在从简单数组到高度复杂容器的任何数据结构上使用;
· 仿函数(Function object,仿函数(functor)又称之为函数对象(functionobject),其实就是重载了()操作符的struct,没有什么特别的地方
· 迭代适配器(Adaptor)
· 空间配制器(allocator)其中主要工作包括两部分:对象的创建与销毁和内存的获取与释放
关于台湾技术作家侯捷老师的书籍
译著作品 《无责任书评一、二、三》、 《深入浅出MFC》、 《多型与虚拟》、 《Word排版艺术》 《STL源码剖析》 翻译 《Inside the C++ Object Model》 《Inside Visual C++》 《Windows 95 System Programming Secrets》 《System Programming for Windows 95》 《Essential COM》、《ActiveX controls Inside Out》 《Multithreading Applications in Win32》 《The Java Programming Language, 4/e》 《Refactoring: Improving The Design of Existing Code》 《C++ Coding Standards: 101 Rules, Guidelines, and Best Practices》 《Refactoring to Patterns》 《C++ Primer, 4/e 》 《The Art of C++》 《The Art of Java》 《Exceptional C++》 《C++ Templates: The Complete Guide》 《Practical Java Programming Language Guide》 《Modern C++ Design》 《The C++ Standard Library: A Tutorial and Reference》
麻烦采纳侯捷stl源码剖析,谢谢!
侯捷是谁?
侯捷是一个图书出版人,通俗来讲就是搞计算机的,他在教育方面也是蛮成功的,出版了很多图书,也影响了很多学计算机的人。
他著有《深入浅出MFC》、《多型与虚拟》、《STL源码剖析》、《无责任书评》三卷。
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。
C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
《STL源码剖析》pdf下载在线阅读,求百度网盘云资源
《STL源码剖析》侯捷电子书网盘下载免费在线阅读
链接:
密码:ignd
书名:STL源码剖析
作者名:侯捷
豆瓣评分:8.7
出版社:华中科技大学出版社
出版年份:2002-6
页数:493
内容介绍:
学习编程的人都知道,阅读、剖析名家代码乃是提高水平的捷径。源码之前,了无秘密。大师们的缜密思维、经验结晶、技术思路、独到风格,都原原本本体现在源码之中。这本书所呈现的源码,使读者看到vector的实现、list的实现、heap的实现、deque的实现、Red Black tree的实现、hash table的实现、set/map的实现;看到各种算法(排序、查找、排列组合、数据移动与复制技术)的实现;甚至还能够看到底层的memory pool和高阶抽象的traits机制的实现。
作者介绍:
侯捷,出生于1961年09月28日,台南县柳营乡人,南京大学客座教授。第一次在大陆大学授课: 南京大学软件学院 and 同济大学软件学院。