神书-C++ STL源码解析-高清完整版

-
神书-STL实现原理,对于强化数据结构-算法的程序员必备、必读书籍。The Best-Selling Programmer Resource–Now Updated for C++11 The C++ standard library provides a set of common classes and interfaces that greatly extend the core C++ language. The library, however, is not self-explanatory. To make full use of its components - and to
This page intentionally left blank The C++ Standard library a Tutorial and reference Second edition Nicolai m josuttis AAddison-Wesley Upper Saddle river,NJ● Boston· Indianapolis● San francisco New York● Toronto● Montreal● London● Munich● Paris· Madrid Capetown Sydney· Tokyo· Singapore· Mexico City Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein The publisher offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales, which may include electronic versions and/or custom covers and content particular to your business, training goals, marketing focus, and branding interests. For more information, please contact: U.S. Corporate and Government Sales (800)382-3419 corpsales@pearsontechgroup.com For sales outside the United States, please contact International sales internationalpearson.com Visit us on the web: informit. com/aw Library of Congress Cataloging-in-Publication Data Josuttis. Nicolai m The C++ standard library: a tutorial and reference/Nicolai m. Josuttis.--2nd ed Includes bibliographical references and index isBn 978-0-321-62321-8(hardcover: alk. paper) 1. C++( Computer program language)I Title QA76.73C153J692012 005.133-dc23 2011045071 Copyright@ 2012 Pearson Education, Inc This book was typeset by the author using the latex document processing system All rights reserved. Printed in the United States of America. This publication is protected by copy- right, and permission must be obtained from the publisher prior to any prohibited reproduction storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. To obtain permission to use material from this work, please submit a written request to Pearson Education, Inc, Permissions Department, One Lake Street, Upper Saddle river, New Jersey 07458, or you may fax your request to(201)236-3290 ISBN-13:9780-321-62321-8 ISBN-10: 0-321-62321-5 Text printed in the United States on recycled paper at Edwards Brothers in Ann Arbor, Michigan First printing, March 2012 To those who care for people and mankind Contents Preface to the second edition XXIlL Acknowledgments for the Second Edition XXIV Preface to the first edition XXV Acknowledgments for the first edition 1 About This book 1.1 Why This book 1.2 Before Reading This book 1.3 Style and Structure of the book 1. 4 How to read This book 1.5 State of the art 1.6 Example Code and Additional Information 224555 1.7 Feedback 2 Introduction to C++ and the Standard library 2.1 History of the C++ Standards 7 2.1.1 Common Questions about the c++1l Standard 8 2.1.2 Compatibility between C++98 and c++11 9 2.2 Complexity and Big-O Notation 10 3 New Language Features 13 3. 1 New C++1 l Language Features 13 3.1.1 Important Minor Syntax Cleanups 13 3.1.2 Automatic Type Deduction with auto 14 3.1.3 Uniform Initialization and Initializer lists 15 3.1.4 Range-Based for Loops 17 3. 1.5 Move semantics and rvalue references 19 Contents 1.6 New String literals 23 3.1.7 Keyword noexcept 24 3.1.8 Keyword constexpr 26 3.1.9 New Template Features 26 3.1.10 Lambdas 28 3.1.11 Keyword decltype 3. 1. 12 New Function Declaration Syntax 3.1.13 Scoped enumerations 32 3. 1. 14 New Fundamental Data Types 33 3.2Old“New” Language features 33 3.2.1 Explicit Initialization for Fundamental Types 37 3.2.2 Definition of main o 37 4 General Concepts 39 4 Namespace std 39 4.2 Header files 40 4.3 Error and Exception Handling 41 4.3.1 Standard Exception Classes 41 4.3.2 Members of Exception Classes 44 4.3.3 Passing Exceptions with Class exception_ptr 52 4.3.4 Throwing Standard Exceptions 53 4.3.5 Deriving from Standard Exception Classes 54 4.4 Callable objects 4.5 Concurrency and Multithreading 55 4.6 Allocators 57 5 Utilities 5. 1 Pairs and tuples 5.1.1 Pairs 5.1.2 Tuples 8 5.1.3 1/O for Tuples 74 5.1.4 Conversions between tuples and pairs 75 5.2 Smart Pointers 76 5.2. 1 Class shared_ptr 76 5.2.2 Class weak_ptr 84 5.2.3 Misusing shared pointers 89 5.2.4 Shared and Weak pointers in Detail 92 5.2.5 Class unique_ptr 98 Contents 5.2.6 Class unique ptr in detail ..110 5.2.7 Class auto_ptr .113 5.2. 8 Final Words on smart Pointers .114 5.3 Numeric Limits 115 5. 4 Type traits and Type utilities 122 5.4.1 Purpose of Type Traits 122 5.4.2 Type Traits in Detail 125 5.4.3 Reference Wrappers .132 5.4.4 Function Type Wrappers 133 5.5 Auxiliary Functions .134 5.5. 1 Processing the minimum and maximum 134 5.5.2 Swapping Two values .136 5.5.3 Supplementary comparison operators 138 5.6 Compile-Time Fractional Arithmetic with Class ratio<> 140 5.7 Clocks and timers .143 5.7.1 Overview of the Chrono library 143 5.7.2 Durations 144 5.7.3 Clocks and Timepoints 149 5.7.4 Date and Time Functions by C and PosiX 157 5.7.5 Blocking with Timers 160 5.8 Header Files <cstddef>, <cstdlib>, and <cstring> .161 5.8.1 Definitions in <cstddef> 161 5.8.2 Definitions in <cstdlib> .162 5.8.3 Definitions in <cstring> 163 6 The Standard Template library 165 6.1 STL Components 165 6.2 Containers .167 6.2.1 Sequence Containers 169 6.2.2 Associative Containers ..177 6.2 Unordered Containers 180 6.2.4 Associative Arrays 185 6.2.5 Other Containers 187 6.2.6Cor Adapters 188 6.3 Iterate 188 6.3.1 Further Examples of Using Associative and Unordered Containers 193 6.3.2 Iterator Categories 198

33.78MB
STL源码剖析简体中文完整版清晰扫描 .pdf
2018-09-09STL源码剖析简体中文完整版清晰扫描 .pdf
53B
STL源码剖析简体中文完整版(清晰扫描带目录)
2018-10-25STL源码剖析简体中文完整版(清晰扫描带书签)。。。。。。。。。。。。。。。。
695KB
C++程序设计语言(特别版)--课后习题源代码
2012-04-23提供的是本书的课后习题源代码,也就是《C++程序设计语言(特别版)题解》的源代码。非书中源代码。 本版本是高清版,是第1版第18次印刷,是书签最全最好的版本。 基本信息 原书名: The C++ Pr
54.80MB
vc++ 应用源码包_6
2012-09-15独立打包,保证可解压,内含大量源码,网上搜集而来。一共10几包,每个包几十兆。 Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、
11KB
C++程序设计语言(特别版)--源代码
2012-04-23提供的是书中的源代码,非课后练习源代码。 本版本是高清版,是第1版第18次印刷,是书签最全最好的版本。 基本信息 原书名: The C++ Programming Language, Special
46.89MB
vc++ 应用源码包_4
2012-09-15独立打包,保证可解压,内含大量源码,网上搜集而来。 Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控
37KB
软件开发面经 腾讯 百度 完美 + 一点学习心得
2012-09-15本科是学电子的,除了C语言,单片机,微机原理学的不错,其他计算机相关的就都只会皮毛了。考研时考到计算机嵌入式实验室,然后开始狂看书,中途还看了N多blog文。以下顺便列一下最近两年看的书: 《C和指针
43.34MB
vc++ 应用源码包_2
2012-09-15独立打包,保证可解压,内含大量源码,网上搜集而来。 Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控
56.54MB
vc++ 应用源码包_1
2012-09-15独立打包,保证可解压,内含大量源码,网上搜集而来。 Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控
55.55MB
vc++ 应用源码包_5
2012-09-15独立打包,保证可解压,内含大量源码,网上搜集而来。一共10几包,每个包几十兆。 Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、
57.5MB
vc++ 应用源码包_3
2012-09-15独立打包,保证可解压,内含大量源码,网上搜集而来。 Visual.C++编程技巧精选500例源代码 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控
高并发下的Nginx性能优化实战
2019-12-24【超实用课程内容】 本课程内容包含讲解解读Nginx的基础知识,解读Nginx的核心知识、带领学员进行高并发环境下的Nginx性能优化实战,让学生能够快速将所学融合到企业应用中。 【课程如何观看?】 PC端:https://edu.csdn.net/course/detail/27216 移动端:CSDN 学院APP(注意不是CSDN APP哦) 本课程为录播课,课程永久有效观看时长,大家可以抓紧时间学习后一起讨论哦~ 【学员专享增值服务】 源码开放 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化 下载方式:电脑登录https://edu.csdn.net/course/detail/27216,播放页面右侧点击课件进行资料打包下载
python入门
2018-12-18您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 帮助与数百万年轻人打开人工智能的学习大门!
Python进阶-Pandas数据分析库
2018-12-18您观看课程学习后 免费入群领取【超全Python资料包+17本学习电子书】 Pandas是python中非常常用的数据分析库,在数据分析,机器学习,深度学习等领域经常被使用。本课程会讲解到pandas中最核心的一些知识点,包括Series以及DataFrame的构建,赋值,操作,选择数据,合并等等,以及使用pandas对文件进行读取和写入,使用pandas绘图等等。
JAVA入门精品课程
2018-12-20课程目标: 1、让初学者从小白开始,善于运用知识点,解脱学习的苦恼 2、能够学习更多的工作中使用技巧,成为编程高手
Java系列技术之JavaWeb入门
2018-09-18JavaWeb里的基础核心技术
535KB
2021年数据建模美赛必备LATEX模板
2018-01-272021数模美赛LATEX模板,美赛必备,CTeX,Texlive都可以用~~~~~年份可以任意修改
C/C++程序员实战基础
2019-08-20大数据的入门视频教程
2018-07-26大数据技术入门视频课程,会从基础思想和原理架构开始,全面介绍大数据的思想体系和架构,为学员进一步学习大数据奠定良好的基础。内容涉及大数据的核心问题、大数据核心思想,Google的三篇论文、GFS,Google的分布式文件系统,MapReduce,BigTable、Hadoop和Spark生态体系以及具体应用演示。
2020华为HCIA/HCNA/数通/路由交换/实验/视频/教程/持续更新赠题库
2020-05-25本课程不仅可以帮助大家顺利考取华为HCIA证书,同时技术视频均为理论+实战配套讲解,讲解细致,通俗易懂,资料完整,可以让大家学到实实在在企业用到的网络技术,本课程包含完整的学习资料,视频+PPT课件,能够帮助你快速掌握HCIA数通网络技术,同时视频中3-4视频后面的附件课件包含了HCIA数通考试题库(带答案),适合从零基础学网络考HCIA的同学!
高性能MySQL实战课
2020-05-21限时福利1:原价 129 元,最后2天仅需 69 元!后天涨价至98元 限时福利2:购课进答疑群专享柳峰(刘运强)老师答疑服务 限时福利3:购课添加助教领取价值 800 元的编程大礼包 为什么需要掌握高性能的MySQL实战? 由于互联网产品用户量大、高并发请求场景多,因此对MySQL的性能、可用性、扩展性都提出了很高的要求。使用MySQL解决大量数据以及高并发请求已经是程序员的必备技能,也是衡量一个程序员能力和薪资的标准之一。 为了让大家快速系统了解高性能MySQL核心知识全貌,我为你总结了「高性能 MySQL 知识框架图」,帮你梳理学习重点,建议收藏! 【课程设计】 课程分为四大篇章,将为你建立完整的 MySQL 知识体系,同时将重点讲解 MySQL 底层运行原理、数据库的性能调优、高并发、海量业务处理、面试解析等。 一、性能优化篇: 主要包括经典 MySQL 问题剖析、索引底层原理和事务与锁机制。通过深入理解 MySQL 的索引结构 B+Tree ,学员能够从根本上弄懂为什么有些 SQL 走索引、有些不走索引,从而彻底掌握索引的使用和优化技巧,能够避开很多实战中遇到的“坑”。 二、MySQL 8.0新特性篇: 主要包括窗口函数和通用表表达式。企业中的许多报表统计需求,如果不采用窗口函数,用普通的 SQL 语句是很难实现的。 三、高性能架构篇: 主要包括主从复制和读写分离。在企业的生产环境中,很少采用单台MySQL节点的情况,因为一旦单个节点发生故障,整个系统都不可用,后果往往不堪设想,因此掌握高可用架构的实现是非常有必要的。 四、面试篇: 程序员获得工作的第一步,就是高效的准备面试,面试篇主要从知识点回顾总结的角度出发,结合程序员面试高频MySQL问题精讲精练,帮助程序员吊打面试官,获得心仪的工作机会。
342.37MB
2020美赛C题资料.zip
2020-05-14关于2020年数模美赛c题的,题目,数据,文献资料,一些代码,以及思路和感想。其中在感想部分谈及了C题两种解答方法的对比(评论处理方法,另一种是我们老师带的另外几队拿了H奖的)。我们对这次论文交的比较
反编译Android应用
2015-01-26学习技术的渠道多种多样,而通过反编译一些经典应用来学习是一种比较好的途径,在Android领域,有比较好的反编译工具,本课程将会教大家如何反编译Android应用。
程序员的数学:微积分
2019-09-28本课程介绍程序员必备的数学基础内容,在取材上侧重人工智能、数据分析等热门领域
微信小程序样式开发入门
2019-01-07讲解微信小程序中样式的入门使用,如何使用传统的css知识点来开发wxss的样式;本节课主要讲解在微信小程序中创建样式的几种 写法,元素选择器的基础使用,id选择器和id派生选择器的使用,class类选择器的使用。
8小时Python零基础轻松入门
2020-05-20
-
学院
前端性能优化
前端性能优化
-
下载
area.sql 地区三级联动
area.sql 地区三级联动
-
博客
招投标挖坑、防坑指南
招投标挖坑、防坑指南
-
下载
gaussian_newton_scanmatcher.zip
gaussian_newton_scanmatcher.zip
-
下载
政府行业信息系统运维服务方案.doc
政府行业信息系统运维服务方案.doc
-
下载
Wps公式(函数)大全.xlsx
Wps公式(函数)大全.xlsx
-
下载
高等数学 D7_7空间曲线.ppt
高等数学 D7_7空间曲线.ppt
-
下载
xxxxychen推荐的eclipse与jdk.zip
xxxxychen推荐的eclipse与jdk.zip
-
博客
树莓派刷机及配置串口方式登录
树莓派刷机及配置串口方式登录
-
下载
jsp分页,显示上一页,下一页,首页,末页,和数据页“1,2,3,4,……”
jsp分页,显示上一页,下一页,首页,末页,和数据页“1,2,3,4,……”
-
博客
1048: 阶乘表
1048: 阶乘表
-
下载
apache2.4安装和mod_wl_24.so插件.zip
apache2.4安装和mod_wl_24.so插件.zip
-
博客
测试接口工具
测试接口工具
-
下载
ls_slam.zip
ls_slam.zip
-
博客
概率神经网络
概率神经网络
-
学院
【数据分析-随到随学】Spark理论及实战
【数据分析-随到随学】Spark理论及实战
-
学院
FFmpeg4.3系列之26:视频监控之H265多路摄像头播控项目实战
FFmpeg4.3系列之26:视频监控之H265多路摄像头播控项目实战
-
学院
智联万物,京东IoT技术创新与实践
智联万物,京东IoT技术创新与实践
-
学院
ArcGIS Pro2.6和ArcGIS Enterprise学习
ArcGIS Pro2.6和ArcGIS Enterprise学习
-
下载
SQL省市区地区四级联动
SQL省市区地区四级联动
-
下载
lammps-stable_3Mar2020.tar.gz
lammps-stable_3Mar2020.tar.gz
-
下载
无人机路径规划与导航Python
无人机路径规划与导航Python
-
博客
博弈问题-动态规划
博弈问题-动态规划
-
下载
vaspkit.0.61.linux.tar.gz
vaspkit.0.61.linux.tar.gz
-
学院
第3章 入门程序、常量、变量
第3章 入门程序、常量、变量
-
学院
Cocos Creator游戏开发-连连看 (接入腾讯优量汇广告)
Cocos Creator游戏开发-连连看 (接入腾讯优量汇广告)
-
学院
pyechart数据可视化
pyechart数据可视化
-
下载
change.xlsx
change.xlsx
-
博客
年度报告 | 2020程序员人才大数据
年度报告 | 2020程序员人才大数据
-
下载
一年之中房租价格最低的时间是什么时候?.docx
一年之中房租价格最低的时间是什么时候?.docx