C++STL程序员开发指南+原代码

上传者: wangqifeng10_16 | 上传时间: 2022-01-19 21:07:05 | 文件大小: 17.32MB | 文件类型: -
第一篇 预备知识 第一章 c++编程技术 1.1 c++与c语言区别 2 1.1.1文件扩展名的改变 2 1.1.2简化输入/输出手段 3 1.1.3 数据类型声明的改变 3 1.1.4动态内存分配算符的使用 4 1.1.5 引用 (references) 类型 6 1.1.6 const语义的扩展 7 1.1.7 指针声明类型与对象类型相一致 10 1.1.8 int与char不再等价 11 1.1.9 结构数据类型的变化 11 1.1.10 数组和指针技术的不同 11 1.2 c++存储技术 12 1.2.1 c++存储类型 12 1.2.2 c++存取修饰符 14 1.2.3 c++对象的生存期 14 1.3 c++函数技术 16 1.3.1类的构造函数、析构函数与赋值函数 16 1.3.2 在派生类中实现类的基本函数 26 .1.3.3内联函数技术 27 1.3.4友元函数技术 28 1.4 c++面向对象机制实现 29 1.4.1 类的继承技术 29 1.4.2 函数重载技术 33 1.4.3运算符重载技术 34 1.4.4纯虚函数和抽象类技术 36 1.5 小结 37 第二章 c++标准库技术 2.1 c++标准库简介 39 2.1.1 i/o流技术 41 2.1.2 string类 43 2.1.3 标准异常类 43 2.1.4 标准模板库类 44 2.2 c++输入/输出流技术 45 2.2.1 c++语言输入/输出流概述 45 2.2.2输入输出格式控制 45 3.2.3特殊输入/输出流格式的设定 50 2.2.4自定义的流操作符 54 2.2.5 根本不用于标准流运算符间的流字符串读/写函数 56 2.2.6 标准输入/输出流的操作符的重载 57 2.2.7 c++文件输入/输出流 58 2.3 c++字符串技术 69 2.3.1字符串类基本操作 70 2.3.2 复杂字符串实例 83 2.4标准异常类 86 2.4.1 绝对终止机制 86 2.4.2 非局部goto机制 88 2.4.3 signals机制 89 2.4.4 c++异常处理机制 90 2.4.5 类的异常处理 92 2.5小结 94 第二篇 c++ stl技术原理和组成 第三章 stl技术原理 3.1 模板概述 96 3.1.1 smalltalk 方法 96 3.1.2 模板方法 97 3.1.3模板参数 98 3.1.4关键字typename的使用 99 3.2 函数模板 100 3.2.1 函数模板基础 100 3.2.2 函数的定制 102 3.2.3 函数模板实例 104 3.3类模板 107 3.3.1 类模板定义 107 3.3.2 类模板使用 110 3.3.3类模板中的友元 110 3.3.4模板程序设计举例 111 3.4 模板安全 114 3.4.1 class类型的参数 115 3.4.2 使得包容安全 116 3.4.3 默认构造函数 116 3.4.4 operator new 117 3.4.5 destructor 118 3.4.6 其他 118 3.5模板的特殊性 121 3.5.1一个特殊化的例子 121 3.5.2 指针特殊化 123 3.6 模板实例-list 容器类设计 124 3.7 小结 127 第四章 stl技术概述 4.1 stl简介 129 4.1.1 什么是stl 129 4.1.2 stl的发展 130 4.1.3 stl的使用和实现 131 4.1.4 名字空间技术 133 4.2 stl基本结构 134 4.2.1 容器(containers) 135 4.2.2 算法(algorithms) 139 4.2.3迭代器(iterators) 141 4.2.4 函数对象(function object) 145 4.2.5 其它部件 145 4.3 stl编程概述 146 4.3.1 传统c++编程技术 146 4.3.2 stl编程技术 148 4.4 stl头文件和编译器 152 4.5 stl编程关键 154 4.5.1 stl容器技术 154 4.5.2 c++和stl技术 156 4.6 小结 161 第三篇 c++ stl容器编程技术 第五章 stl容器技术总述 5.1容器技术概述 163 5.1.1 容器介绍 167 5.1.2 forward 容器 167 5.1.3 reversible 容器 168 5.1.4 sequence 168 5.1.5 associative 容器 169 5.2 vector技术 170 5.2.1 vector头文件 170 5.2.2 vector对象 171 5.2.3 vector实例 174 5.3 deque技术 175 5.3.1 deque头文件 176 5.3.2 deque对象 176 5.3.3 deque实例 178 5.4 list技术 180 5.4.1 list头文件 180 5.4.2 list对象 181 5.4.3 list实例 184 5.5 stack技术 185 5.5.1 stack头文件 185 5.5.2 stack对象 186 5.5.3 stack实例 187 5.6 queue技术 189 5.6.1 queue头文件 189 5.6.2 queue对象 190 5.6.3 queue实例 191 5.7 priority_queue技术 193 5.7.1 priority_queue头文件 193 5.7.2 priority_queue对象 193 5.7.3 priority_queue实例 194 5.8 slist技术 197 5.9关联式容器 197 5.9.1 set介绍 198 5.9.2 multiset介绍 201 5.9.3 map介绍 204 5.9.4 multimap介绍 209 5.9.5 实例祥解 213 5.10小结 214 第六章 vector技术编程详解 6.1 vector编程入门 216 6.1.1定义vector 216 6.1.2 vector初始化 218 6.1.3 vector大小统计 219 6.2 vector基本使用 220 6.2.1 判断vector是否空 220 6.2.2 使用循环遍历成员 221 6.2.3使用迭代器 222 6.2.4 使用算法 223 6.3 vector高级编程技术 226 6.3.1 vector对象的查找 226 6.3.2 vector对象的搜索 227 6.3.3 vector字符串处理 228 6.3.4 vector的排序 230 6.3.5 vector元素增加 231 6.3.6 vector元素删除 231 6.3.7 vector对象交换 234 6.4 vector程序综合实例分析 235 6.5 小结 238 第七章 deque技术编程详解 7.1 deque 编程入门 240 7.1.1 deque的定义 240 7.1.2 deque赋值 242 7.1.3 deque大小度量函数 244 7.1.4 返回函数 245 7.2 deque 编程深入 250 7.2.1 判断容器是否为空 250 7.2.2 deque访问 251 7.2.3 deque重置技术 252 7.2.4 容器内容交换 253 7.3 deque插入和删除技术 255 7.3.1 insert操作 255 7.3.2 erase操作 257 7.3.3 clear操作 258 7.4 deque模板函数详解 258 7.4.1 operator[] 259 7.4.2 operator== 260 7.4.3 operator[ 261 7.4.4 operator!= 262 7.4.5 operator[= 262 7.4.6 operator] 263 7.4.7 operator]= 263 7.5 deque实例详解 264 7.6 小结 267 第八章 list技术编程详解 8.1 list编程入门 269 8.1.1 list的定义 269 8.1.2 list赋值 272 8.1.3 list大小度量函数 276 8.1.4 返回函数 279 8.2 list 编程详解 283 8.2.1 判断容器是否为空 283 8.2.2 list访问 284 8.2.3 list重置技术 285 8.2.4 容器内容交换 286 8.3 list插入和删除技术 288 8.3.1 insert操作 288 8.3.2 erase操作 290 8.3.3 clear操作 292 8.4 list模板函数详解 292 8.4.1 operator== 292 8.4.2 operator[ 293 8.4.3 operator!= 294 8.4.4 operator[= 294 8.4.5 operator] 295 8.4.6 operator]= 296 8.5 list特殊函数 297 8.5.1 merge()函数的使用 297 8.5.2 remove() 298 8.5.3 remove_if() 299 8.5.4 sort() 300 8.5.5 splice() 301 8.5.6 unique() 302 8.6 list实例详解 304 8.7 小结 309 第九章set和multiset技术编程详解 9.1 set和multiset定义和创建 311 9.1.1 set类模板简介 312 9.1.2 multiset类模板简介 314 9.2 set和multiset编程基础 316 9.2.1 begin函数 316 9.2.2 end 函数 317 9.2.3 rbegin函数 319 9.2.4 rend函数 321 9.2.5 判断空函数 323 9.2.6 计算大小函数 324 9.2.7 元素的插入 326 9.2.8 元素的删除操作 327 9.3 set和multiset编程深入 331 9.3.1 count函数 331 9.3.2 元素的查找 332 9.3.3 上下限迭代器的返回 334 9.3.4 元素的随机访问 335 9.3.5 元素大小比较 338 9.3.6获取内存分配器 342 9.4 set和multiset编程实例 344 9.5 小结 349 第十章map和multimap技术编程详解 10.1 map和multimap定义和使用 351 10.1.1 map类模板简介 352 10.1.2 multimap类模板简介 354 10.2 map和multimap编程基础 356 10.2.1 begin函数 356 10.2.2 end 函数 358 10.2.3 rbegin函数 360 10.2.4 rend函数 362 10.2.5 判断空函数 364 10.2.6 计算大小函数 365 10.2.7 元素的插入 367 10.2.8 元素的删除操作 369 10.2.9 元素的交换 373 10.3 map和multimap编程深入 375 10.3.1 count函数 375 10.3.2 元素的查找 376 10.3.3 元素相等时上下限迭代器的返回 378 10.3.4 元素的随机访问 380 10.3.5 元素大小比较 384 10.3.6 获取内存分配器 387 10.4 编程实例 389 10.5 小结 395 第四篇 c++ stl算法技术 第十一章 通用算法技术 13.1 通用算法技术简介 398 11.2 非修正序列算法 402 11.2.1 查找容器中相同的相邻元素 402 11.2.2 容器中相同元素统计 403 11.2.3 容器对象变量比较 404 11.2.4 元素查找 405 11.2.5 特定的循环操作 407 11.2.6 不相等元素查找 408 11.2.7 采用search查找函数 410 11.3修正序列算法 411 11.3.1 元素复制 412 11.3.3 赋值操作 413 11.3.4 通过函数进行元素的赋值 414 11.3.5 容器拆分技术 415 11.3.6 重新随机分布 416 11.3.7 元素删除 417 11.3.8 元素替换 418 11.3.9 元素的旋转 418 11.3.10 元素颠倒算法 420 11.3.11 元素交换算法 420 11.3.12 容器运算技术 422 11.3.13 删除容器中重复元素 424 11.4 排序算法 425 11.4.1 排序算法 426 11.4.2 排序元素的查找 428 11.4.3 字典式比较 432 11.4.4 极值元素求解 434 11.4.5 合并排序算法 438 11.4.6 拆分排序 440 11.4.7 堆栈操作技术 441 11.5 数值算法 443 11.5.1 元素求和 443 11.5.2 元素内积 445 11.5.3 序列相邻差 446 11.6 小结

文件下载

评论信息

  • lloonnggago :
    很全,什么都有了,感谢
    2019-03-25
  • whq7992 :
    很好啊,可以直接调试学习
    2016-04-01
  • wushihua :
    好东西,谢谢分享,里面还有书本的源码
    2015-05-04
  • z372183629 :
    还不错,不过书没有目录
    2015-04-22
  • xiaoniao54321 :
    资料不错,很好很强大!
    2015-04-04

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明