《C++面向对象高效编程(第2版)》(Kayshav Dattatri[美] 著,叶尘 译)下载 [问题点数:0分]

Bbs1
本版专家分:0
结帖率 70.97%
《C++面向对象高效编程(第2版)》(Kayshav Dattatri[美] 著,叶尘 译)
比肩Thinking in C++、The C++ Programming Language等经典著作; Design Patterns作者Erich Gamma博士为本书作序; 国内知名技术专家孟岩、方舟联袂推荐; 对于使用C++进行<em>面向对象</em>编程的开发人员来讲,本书是他们的必备读物。本书包含了丰富的<em>面向对象</em>编程知识,可以让他们进一步提升其编程技能。除了讲解C++编程技巧之外,本书还向读者展示了使用C++进行<em>面向对象</em>设计的技术。更为难能可贵的是,开发人员在开发<em>高效编程</em>架构背后的思维过程也在本书中得以淋漓尽致的体现。 Kayshav的这本著作不仅仅会讲解C++的高级功能特性,还会讲解如何使用这些功能特性来设计大型的<em>面向对象</em>软件系统。由于Kayshav是从软件工程师的角度编写了本书,因此对于有志于成为C++开发高手的读者来说,本书的实用性更强。 本书之所以宝贵,一方面是因为本书内容容易理解,另一方面是本书囊括了所有的C++主题知识。更为重要的是,读者还可以学到如何避免C++程序中的“阿喀琉斯之踵(Achilles heel,可以引申为[致命要害])”——内存泄露。如果读者仅仅掌握了“内存泄露”这一个主题,也可以单凭这“一招鲜”在日后的C++开发生涯中驰骋纵横。 如果读者足够聪明勤奋,则可以全盘吸收掌握本书无所不包的C++对象编程知识。而且,掌握了本书内容的读者,对任何C++开发团队来讲,都是奋力争夺的宝贵人才。 目录: 第一部分 概念、实践和应用 第1章 什么是<em>面向对象</em>编程 1 1.1 背景 1 1.1.1 面向过程编程示例 2 1.1.2 银行账户的表示 3 1.1.3 银行账户的安全 4 1.1.4 用<em>面向对象</em>编程解决问题 5 1.2 理解对象模型 7 1.3 术语 8 1.4 理解消息、方法和实例变量 8 1.4.1 对象中包含的内容 9 1.4.2 实例化(或创建)对象 11 1.5 什么可以作为类 11 1.6 什么不是类 12 1.7 类的目的 13 1.8 深入了解对象 15 1.8.1 对象的状态 15 1.8.2 对象状态的重要性 15 1.8.3 谁控制对象的状态 17 1.8.4 对象的行为 18 1.9 <em>面向对象</em>软件开发的阶段 18 1.9.1 <em>面向对象</em>分析(OOA) 18 1.9.2 <em>面向对象</em>设计(OOD) 20 1.10 <em>面向对象</em>编程(OOP) 21 1.11 对象模型的关键要素 21 1.12 OOP范式和语言 24 1.13 <em>面向对象</em>编程语言的要求 24 1.14 对象模型的优点 25 1.15 小结 26 第2章 什么是数据抽象 27 2.1 接口和实现的分离 30 2.2 对象接口的重要性 31 2.3 实现的含义 32 2.4 保护实现 32 2.5 数据封装的优点 34 2.6 接口、实现和数据封装之间的关系 35 2.7 数据封装注意事项 36 2.8 确定封装的内容 36 2.9 抽象数据类型 37 2.10 抽象数据类型——栈的实现 38 2.11 C++中的数据抽象 40 2.12 类中的访问区域 41 2.13 和类一起使用的术语 47 2.14 类的实现者 48 2.15 实现成员函数 49 2.16 识别成员函数的目标对象 49 2.17 程序示例 52 2.18 对象是重点 53 2.19 对接口的再认识 53 2.20 什么是多线程安全类 55 2.21 确保抽象的可靠性——类不变式和断言 57 2.21.1 类不变式 57 2.21.2 前置条件和后置条件 57 2.21.3 使用断言实现不变式和条件 59 2.21.4 高效使用断言 60 2.22 <em>面向对象</em>设计的表示法 60 2.23 Booch表示法 61 2.24 Booch中类的关系 61 2.24.1 关联 62 2.24.2 聚集(has—a) 62 2.24.3 “使用”关系 65 2.24.4 继承关系(is—a) 66 2.24.5 类范畴 66 2.25 统一建模语言(UML) 67 2.26 UML中类的关系 68 2.27 关联 69 2.27.1 作为聚集的关联 71 2.27.2 OR关联 72 2.28 组合 72 2.29 泛化关系(is—a) 74 2.30 has—a关系的重要性 75 2.31 小结 76 第3章 C++与数据抽象 77 3.1 类概念的基础 77 3.2 类要素的细节 78 3.2.1 访问区域 78 3.2.2 分析 79 3.3 复制构造函数 81 3.4 赋值操作符 89 3.5 this指针和名称重整的进一步说明 95 3.6 const成员函数的概念 98 3.7 编译器如何实现const成员函数 99 3.8 C++中类和结构的区别 100 3.9 类可以包含什么 100 3.10 设计期间的重点——类的接口 101 3.11 类名、成员函数名、参数类型和文档 102 3.12 参数传递模式——客户的角度 103 3.13 采用语义 106 3.14 为参数选择正确的模式 108 3.15 函数返回值 109 3.16 从函数中返回引用 111 3.17 编写内存安全类 112 3.18 客户对类和函数的责任 113 3.19 小结 114 第4章 OOP中的初始化和无用单元收集 115 4.1 什么是初始化 115 4.1.1 使用构造函数初始化 117 4.1.2 使用内嵌对象必须遵守的规则 124 4.2 无用单元收集问题 125 4.2.1 无用单元 125 4.2.2 悬挂引用 125 4.2.3 无用单元收集和悬挂引用的补救 126 4.2.4 无用单元收集和语言设计 127 4.2.5 在C++中何时产生无用单元 129 4.2.6 对象何时获得资源 130 4.3 C++中的无用单元收集 130 4.4 对象的标识 132 4.5 对象复制的语义 136 4.6 对象赋值的语义 142 4.7 对象相等的语义 145 4.8 为什么需要副本控制 149 4.8.1 信号量示例 150 4.8.2 许可证服务器示例 152 4.8.3 字符串类示例 154 4.9 分析 160 4.10 “写时复制”的概念 161 4.10.1 何时使用引用计数 167 4.10.2 “写时复制”小结 168 4.11 类和类型 169 4.12 小结 170 第5章 继承的概念 171 5.1 继承的基本知识 172 5.2 is—a关系的含义 186 5.3 继承关系的效果 187 5.4 多态置换原则 187 5.5 用继承扩展类层次 195 5.6 继承的一些基本优点 197 5.7 动态绑定、虚函数和多态性 198 5.7.1 动态绑定含义 201 5.7.2 动态绑定的支持——虚函数 202 5.8 继承对数据封装的影响 204 5.9 多态的含义 206 5.10 有效使用虚函数(动态绑定) 207 5.11 虚析构函数的要求 210 5.12 构造函数和虚函数 214 5.13 一般—特殊的概念 215 5.14 抽象(延期)类的概念 215 5.15 抽象类的用途 219 5.16 强大的继承 232 5.17 有效的代码复用 233 5.18 抽象基类的客户 236 5.19 继承优点小结 237 5.20 继承和动态绑定的危险 238 5.20.1 C++如何实现动态绑定(虚函数) 240 5.20.2 虚函数的开销 240 5.20.3 动态绑定和类型检查 241 5.21 不必要的继承和动态绑定 242 5.22 使用虚函数的不同模式 254 5.23 小结 256 第6章 多重继承概念 257 6.1 多重继承的简单定义 258 6.2 大学示例 258 6.3 多重继承关系的含义 264 6.4 多重继承场景 265 6.4.1 C++中解决名称冲突 266 6.4.2 二义性基类问题 270 6.5 多重继承的基本优点 271 6.6 多重继承的替换方案 271 6.6.1 第一种替换方案 272 6.6.2 第二种替换方案 274 6.7 重复继承 276 6.8 重复继承的解决方案 279 6.8.1 在C++中通过虚基类共享对象 279 6.8.2 虚基类的优点 282 6.8.3 虚基类产生的新问题 282 6.8.4 比较Eiffel和C++中的多重继承 287 6.9 继承的一般问题 290 6.10 使用mixin类加入静态功能 291 6.10.1 mixin类的定义 291 6.10.2 何时使用mixin类 296 6.11 动态变化情况的设计 296 6.11.1 角色扮演类的设计灵活性 302 6.11.2 如何使用角色扮演类 302 6.11.3 管理角色的另一种方法 311 6.11.4 TUniversityMember类对象的多态用法 312 6.11.5 按要求改动现有类 313 6.11.6 mixin类和角色对象的比较——适用范围 314 6.12 C++的私有派生 316 6.12.1 何时使用私有派生 319 6.12.2 重新导出私有基类的成员 321 6.12.3 私有派生的替换方法——包含 323 6.12.4 需要使用私有派生的情况 324 6.13 mixin类和私有派生的实用示例 327 6.14 继承与包含 333 6.15 小结 334 第7章 从类中选择性导出(友元函数) 336 7.1 需要什么 337 7.2 C++的情况 337 7.3 友元关系的含义 340 7.4 非成员函数和友元函数的应用 343 7.4.1 实例1:尽量减少类之间过多的交互 343 7.4.2 实例2:克服语法问题 349 7.4.3 实例3:需要和多个类进行通信的函数 361 7.5 非成员函数的优点 362 7.6 选择友元函数还是成员函数 365 7.7 小结 366 第8章 操作符重载的概念 367 8.1 语言类型和程序员定义类型的区别 367 8.2 什么是重载操作符 370 8.3 操作符重载的优点和缺点 371 8.3.1 更加简洁的抽象数据类型 372 8.3.2 令人费解的操作符重载 372 8.3.3 无法理解优先级和结合规则 373 8.4 C++中的重载操作符 376 8.5 ++和——操作符的另一个应用 380 8.6 更复杂的操作符——成员访问操作符:—> 387 8.7 非成员函数的操作符 395 8.7.1 作为成员函数的操作符 396 8.7.2 作为非成员函数实现的操作符 398 8.7.3 为什么需要转换 402 8.8 转换函数 402 8.8.1 转换构造函数和转换函数之间的相互影响 405 8.8.2 消除对临时对象的需求 409 8.9 从操作符函数返回结果 411 8.10 赋值操作符 415 8.11 小结 415 第9章 泛型类型 417 9.1 重复性编码问题 417 9.2 智能解决方案——泛型编程 424 9.3 泛型类型(类)的基本知识 427 9.4 泛型类型和代码重复 433 9.5 泛型类实现者与客户之间的契约 434 9.5.1 这是否是良好的设计 439 9.5.2 泛型类实现中的操作符和成员函数 441 9.5.3 替换解决方案——泛型类的特殊化 443 9.6 模板特殊化 444 9.6.1 模板成员函数的特殊化 444 9.6.2 另一种替换方案:分离对象的比较 446 9.6.3 不能随意停用模板类的原因 448 9.7 模板类特殊化 449 9.8 泛型函数的概念 451 9.9 C++中模板类和成员函数的实例化 455 9.10 泛型类型和类型检查 462 9.11 约束泛型和无约束泛型 463 9.11.1 C++中对模板参数的约束 467 9.11.2 C++中模板参数的特定类型 468 9.11.3 模板参数的默认值 469 9.12 C++中对模板参数执行约束 470 9.13 泛型类和选择性导出 473 9.14 继承和泛型类 476 9.15 泛型类继承的用途 483 9.16 控制对象创建的一般技巧 485 9.17 实现计数指针 487 9.18 尽量减少模板对象的代码重复 496 9.18.1 程序的内存占用 498 9.18.2 减少模板代码的方案 498 9.19 模板类和源代码保护 510 9.20 共享(动态)库中的模板类 510 9.20.1 共享库中的模板类——多实例问题 513 9.20.2 消除共享库中的多个实例 515 9.20.3 和现有共享库链接 516 9.20.4 容器类 517 9.21 泛型类和继承的比较 518 9.22 小结 519 第10章 处理异常情况 520 10.1 处理错误状况的原因 520 10.2 错误码的替换方案 522 10.3 C++异常处理模型 523 10.3.1 C++异常机制的工作方式 524 10.3.2 try块的重要性 526 10.3.3 throw表达式的重要性 526 10.3.4 理解动态调用链 528 10.3.5 处理多个异常 530 10.3.6 catch块的责任 531 10.4 Eiffel中的异常模型 532 10.5 Eiffel和C++异常模型的优缺点 536 10.6 有效地使用C++异常 538 10.7 创建异常层次 538 10.7.1 catch处理代码的顺序 541 10.7.2 编写异常安全函数 543 10.8 项目中的异常处理架构 545 10.9 项目中错误管理的成功策略 547 10.9.1 函数不是防火墙 549 10.9.2 设计异常层次 549 10.10 异常环境中的资源管理 552 10.10.1 自动资源管理 553 10.10.2 泛化资源管理解决方案 556 10.11 异常和构造函数 558 10.11.1 从函数中返回安全资源 558 10.11.2 管理对象数组的辅助类 562 10.11.3 自动无用单元收集的开销 567 10.12 构造函数的部分完成 568 10.13 使用异常创建安全数组 568 10.14 小结 574 第二部分 构建强大的<em>面向对象</em>软件 第11章 掌握数据抽象 575 11.1 隐藏抽象的实现细节 575 11.1.1 使用句柄的优点 579 11.1.2 使用句柄的缺点 579 11.2 将指针作为数据成员使用(惰性求值) 584 11.3 控制对象创建 586 11.3.1 只允许使用new()操作符创建对象 586 11.3.2 防止使用new()操作符创建对象 589 11.4 使用指针和引用代替内嵌对象 589 11.5 避免用大型数组作为自动变量(或数据成员) 590 11.6 使用对象数组和对象指针数组 591 11.7 用对象代替基本类型指针作为数据成员和成员函数的返回值 593 11.8 与C的兼容性 596 11.9 合理选择实现:对象大小和代码效率 598 11.10 避免临时对象 601 11.11 使用复制构造函数初始化对象 602 11.12 有效使用代理对象 603 11.12.1 代理对象有助于安全共享对象 604 11.12.2 代理对象易于使用 605 11.12.3 代理对象是远程对象的替身 606 11.12.4 智能代理对象提供额外的功能 607 11.12.5 代理对象解决语法/语义的问题 608 11.12.6 泛型下标代理技术 611 11.13 使用简单的抽象建立更复杂的抽象 613 11.14 抽象必须允许客户以不同的方式使用类 614 11.15 小结 616 第12章 高效使用继承 617 12.1 用继承实现简洁的菜单和命令 617 12.2 封装创建对象的细节 624 12.3 虚构造函数的概念 626 12.4 为协议控制而组合使用虚函数和非虚函数 629 12.5 双分派概念 638 12.6 设计和实现容器类 645 12.7 设计可处理不同类型的容器 647 12.8 用泛型编程实现同质容器类 659 12.8.1 设计目的 660 12.8.2 基于模板的同质容器的优点 665 12.9 基于模板的容器的缺点 666 12.10 导航容器 669 12.11 主动迭代器 673 12.12 管理容器和迭代器——客户的角度 682 12.12.1 样式1:在容器中创建并返回迭代器供用户使用 683 12.12.2 样式2:按值返回用户可使用迭代器控制的容器 683 12.13 C++标准模板库(STL) 685 12.13.1 STL容器 686 12.13.2 迭代器 687 12.13.3 STL中的算法 687 12.14 小结 690 12.15 TArray容器的实现代码 691 第13章 理解C++对象模型 701 13.1 高效实现 701 13.2 C++表示对象的方式 701 13.2.1 没有虚函数的类 702 13.2.2 成员函数 702 13.2.3 静态数据成员 703 13.2.4 构造函数 704 13.3 包含虚函数的类 705 13.4 在共享库之间共享虚函数表 708 13.5 虚函数和多重继承(非虚基类) 709 13.6 虚基类 715 13.6.1 虚基类的成员访问 715 13.6.2 带虚函数的虚基类 717 13.7 RTTI(运行时类型识别)的实现支持 719 13.8 基于对象和<em>面向对象</em>编程 720 13.9 引用、指针和值 721 13.9.1 引用和指针的赋值 721 13.9.2 复制构造函数 722 13.9.3 构造函数的职责 723 13.10 复制构造函数的责任 726 13.11 优化对象的按值传递和按值返回 727 13.11.1 按值传递 727 13.11.2 按值返回 729 13.12 运行时初始化 732 13.13 小结 732 附录 A 733 参考书目和推荐读物 737 索引 741 ——《豆瓣读书》
《C++高效编程》笔记(壹)
《C++<em>高效编程</em>》笔记 标签(空格分隔):《C++<em>高效编程</em>》 本博客是看《C++<em>高效编程</em>》的笔记,还在更新中。。。 书张这样: 第一部分扯蛋,没怎么看,直接看第二部分。的确是好书,值得一看。 从语言开始 三条指令教你做人: 产生汇编文件hello.s gcc -s hello.c 产生二进制文件 gcc -c hello.c ...
C++面向对象高效编程(第2版).[美]Kayshav Dattatri(带详细书签).pdf
比肩Thinking in C++、The C++ Programming Language等经典著作;Design Patterns作者Erich Gamma博士为本书作序;国内知名技术专家孟岩、方舟联袂推荐; 《C++<em>面向对象</em><em>高效编程</em>(第2版)》的所有内容都是经验之谈。书中的练习都建立在Kayshav多年的C+++经验基础上。Kayshav不仅详尽地解释了<em>面向对象</em>的概念以及从理论上介绍C++的语言特性,还介绍了继承、mixin类、模板类和异常这些方面的实践经验,探讨了模板实例化、共享库、线程安全性和许多其他问题。 内容简介 《C++<em>面向对象</em><em>高效编程</em>(第2版)》以帮助读者掌握C++<em>面向对象</em><em>高效编程</em>范式为目的,详细介绍了C++编程中的各种概念和应用技巧。《C++<em>面向对象</em><em>高效编程</em>(第2版)》共分为两部分,第一部分(第1章至第10章)介绍<em>面向对象</em>编程的基础和应用,如数据抽象、继承、泛型类型、异常处理等内容;第二部分(第11章至第13章)深入探讨如何建立抽象及其策略,并研究了C++对象模型。书中包含大量的代码实例,读者不仅能从理论上得以提高,而且还能轻松地在实践中应用。 《C++<em>面向对象</em><em>高效编程</em>(第2版)》适用于C++程序员,也可供对<em>面向对象</em>程序设计感兴趣的编程人员及大专院校计算机专业师生参考。 作者简介 达特特里,当前是Cisco公司的一名高级技术主管,在此之前,曾以项目负责人、技术主管的身份供职于网景公司(NetsCape Communications)和Taligent公司,主要从事前沿Web技术、 <em>面向对象</em>(OO)应用开发框架的研究。他还是<em>面向对象</em>设计和C++领域的独立顾问/培训l师,而且在操作系统、OO架构、OO语言(包括C++、Smalltalk、Eiffel和Modula-2)等领域有25年以上的从业 经验。除此之外,他还是加州大学伯克利扩展(Be rkeley Extension)项目的知名讲师,而且凭借其渊博的学识和在教学方面的天分备受欢迎。Kayst]av早在1987年,就开始使用C++进行编程了。   <em>面向对象</em>软件开发已逐渐成为开发软件的首选。优秀的<em>面向对象</em>软件开发人员、设计人员、系统架构师对其需求与日俱增。要想成为一名成功的<em>面向对象</em>编程(OOP)人员必须忘却(摈弃)多年来面向程序编程的习惯,从新的角度分析问题。   <em>面向对象</em>编程要求程序员和设计者非常熟悉一些基本范式或概念。理解这些范式是在<em>面向对象</em>软件领域打下牢固基础的基本要求。支持OOP的语言都必须支持这些基本范式。换言之,学习OOP,简单地说,就是学习许多语言(如c++,Eiffel,SmallTalk,Java等)所支持的强大范式。本书的第一个目标是,让你在不过分深入语言语法要素的前提下,理解<em>面向对象</em>编程最重要的概念和原则。第一部分——概念、实践和应用,将涵盖这方面的内容。   掌握支持OOP的语言语法和学习OOP的概念不一样。对基本OOP范式一无所知的人,也能成为C++或Java的佼佼者。但是,理解OOP基本概念的人可以在任何支持OOP的语言中有效地使用这些概念。而且,他/她还知道何时加入特定的概念。任何掌握链表概念的人都会发现,它是在Pascal、C或Modula-2中实现链表的基础。比方说,如果你知道如何游泳,就可以在湖泊、池塘或游泳池中游泳。语言只是一个帮助你实现最终目标的载体。   学习OOP概念,仅仅是漫漫长路的第一个里程碑,不是程序员和设计人员的终极目标。你应该用这些概念去解决自己专业领域中的问题。财政计划人员想开发一个对象框架,以管理个人资金;商店想开发应用程序,以管理存货。但是,要把OOP的原则应用于不同的领域实属不易。例如,解决玩具课本的问题可能很琐碎,而解决某个专业领域的问题和构建系统则非常复杂和困难。学习专业领域的特定例子(例如文件系统、汽车代理管理系统、桌面排版系统、航班计划系统等)将会有所帮助。显然,我不是这些领域的专家,大部分读者也不熟悉这些相关领域,对它们也不感兴趣。这是在进行<em>面向对象</em>设计时,很多设计者和程序员所面临的典型问题。然而,无论涉及什么领域,总会有一些编程或设计方面(与相关领域无关)的经验原则,对软件专业人士解决复杂问题非常有用。 第一部分 概念、实践和应用 第1章 什么是<em>面向对象</em>编程 1.1 背景 1.1.1 面向过程编程示例 1.1.2 银行账户的表示 1.1.3 银行账户的安全 1.1.4 用<em>面向对象</em>编程解决问题 1.2 理解对象模型 1.3 术语 1.4 理解消息、方法和实例变量 1.4.1 对象中包含的内容 1.4.2 实例化(或创建)对象 1.5 什么可以作为类 1.6 什么不是类 1.7 类的目的 1.8 深入了解对象 1.8.1 对象的状态 1.8.2 对象状态的重要性 1.8.3 谁控制对象的状态 1.8.4 对象的行为 1.9 <em>面向对象</em>软件开发的阶段 1.9.1 <em>面向对象</em>分析(OOA) 1.9.2 <em>面向对象</em>设计(OOD) 1.10 <em>面向对象</em>编程(OOP) 1.11 对象模型的关键要素 1.12 OOP范式和语言 1.13 <em>面向对象</em>编程语言的要求 1.14 对象模型的优点 1.15 小结 第2章 什么是数据抽象 2.1 接口和实现的分离 2.2 对象接口的重要性 2.3 实现的含义 2.4 保护实现 2.5 数据封装的优点 2.6 接口、实现和数据封装之间的关系 2.7 数据封装注意事项 2.8 确定封装的内容 2.9 抽象数据类型 2.10 抽象数据类型——栈的实现 2.11 C++中的数据抽象 2.12 类中的访问区域 2.13 和类一起使用的术语 2.14 类的实现者 2.15 实现成员函数 2.16 识别成员函数的目标对象 2.17 程序示例 2.18 对象是重点 2.19 对接口的再认识 2.20 什么是多线程安全类 2.21 确保抽象的可靠性——类不变式和断言 2.21.1 类不变式 2.21.2 前置条件和后置条件 2.21.3 使用断言实现不变式和条件 2.21.4 高效使用断言 2.22 <em>面向对象</em>设计的表示法 2.23 Booch表示法 2.24 Booch中类的关系 2.24.1 关联 2.24.2 聚集(has-a) 2.24.3 “使用”关系 2.24.4 继承关系(is-a) 2.24.5 类范畴 2.25 统一建模语言(UML) 2.26 UML中类的关系 2.27 关联 2.27.1 作为聚集的关联 2.27.2 OR关联 2.28 组合 2.29 泛化关系(is-a) 2.30 has-a关系的重要性 2.31 小结 第3章 C++与数据抽象 3.1 类概念的基础 3.2 类要素的细节 3.2.1 访问区域 3.2.2 分析 3.3 复制构造函数 3.4 赋值操作符 3.5 this指针和名称重整的进一步说明 3.6 const成员函数的概念 3.7 编译器如何实现const成员函数 3.8 C++中类和结构的区别 3.9 类可以包含什么 3.10 设计期间的重点——类的接口 3.11 类名、成员函数名、参数类型和文档 3.12 参数传递模式——客户的角度 3.13 采用语义 3.14 为参数选择正确的模式 3.15 函数返回值 3.16 从函数中返回引用 3.17 编写内存安全类 3.18 客户对类和函数的责任 3.19 小结 第4章 OOP中的初始化和无用单元收集 4.1 什么是初始化 4.1.1 使用构造函数初始化 4.1.2 使用内嵌对象必须遵守的规则 4.2 无用单元收集问题 4.2.1 无用单元 4.2.2 悬挂引用 4.2.3 无用单元收集和悬挂引用的补救 4.2.4 无用单元收集和语言设计 4.2.5 在C++中何时产生无用单元 4.2.6 对象何时获得资源 4.3 C++中的无用单元收集 4.4 对象的标识 4.5 对象复制的语义 4.6 对象赋值的语义 4.7 对象相等的语义 4.8 为什么需要副本控制 4.8.1 信号量示例 4.8.2 许可证服务器示例 4.8.3 字符串类示例 4.9 分析 4.10 “写时复制”的概念 4.10.1 何时使用引用计数 4.10.2 “写时复制”小结 4.11 类和类型 4.12 小结 第5章 继承的概念 5.1 继承的基本知识 5.2 is-a关系的含义 5.3 继承关系的效果 5.4 多态置换原则 5.5 用继承扩展类层次 5.6 继承的一些基本优点 5.7 动态绑定、虚函数和多态性 5.7.1 动态绑定含义 5.7.2 动态绑定的支持——虚函数 5.8 继承对数据封装的影响 5.9 多态的含义 5.10 有效使用虚函数(动态绑定) 5.11 虚析构函数的要求 5.12 构造函数和虚函数 5.13 一般-特殊的概念 5.14 抽象(延期)类的概念 5.15 抽象类的用途 5.16 强大的继承 5.17 有效的代码复用 5.18 抽象基类的客户 5.19 继承优点小结 5.20 继承和动态绑定的危险 5.20.1 C++如何实现动态绑定(虚函数) 5.20.2 虚函数的开销 5.20.3 动态绑定和类型检查 5.21 不必要的继承和动态绑定 5.22 使用虚函数的不同模式 5.23 小结 第6章 多重继承概念 6.1 多重继承的简单定义 6.2 大学示例 6.3 多重继承关系的含义 6.4 多重继承场景 6.4.1 C++中解决名称冲突 6.4.2 二义性基类问题 6.5 多重继承的基本优点 6.6 多重继承的替换方案 6.6.1 第一种替换方案 6.6.2 第二种替换方案 6.7 重复继承 6.8 重复继承的解决方案 6.8.1 在C++中通过虚基类共享对象 6.8.2 虚基类的优点 6.8.3 虚基类产生的新问题 6.8.4 比较Eiffel和C++中的多重继承 6.9 继承的一般问题 6.10 使用mixin类加入静态功能 6.10.1 mixin类的定义 6.10.2 何时使用mixin类 6.11 动态变化情况的设计 6.11.1 角色扮演类的设计灵活性 6.11.2 如何使用角色扮演类 6.11.3 管理角色的另一种方法 6.11.4 TUniversityMember类对象的多态用法 6.11.5 按要求改动现有类 6.11.6 mixin类和角色对象的比较——适用范围 6.12 C++的私有派生 6.12.1 何时使用私有派生 6.12.2 重新导出私有基类的成员 6.12.3 私有派生的替换方法——包含 6.12.4 需要使用私有派生的情况 6.13 mixin类和私有派生的实用示例 6.14 继承与包含 6.15 小结 第7章 从类中选择性导出(友元函数) 7.1 需要什么 7.2 C++的情况 7.3 友元关系的含义 7.4 非成员函数和友元函数的应用 7.4.1 实例1:尽量减少类之间过多的交互 7.4.2 实例2:克服语法问题 7.4.3 实例3:需要和多个类进行通信的函数 7.5 非成员函数的优点 7.6 选择友元函数还是成员函数 7.7 小结 第8章 操作符重载的概念 8.1 语言类型和程序员定义类型的区别 8.2 什么是重载操作符 8.3 操作符重载的优点和缺点 8.3.1 更加简洁的抽象数据类型 8.3.2 令人费解的操作符重载 8.3.3 无法理解优先级和结合规则 8.4 C++中的重载操作符 8.5 ++和——操作符的另一个应用 8.6 更复杂的操作符——成员访问操作符:- 8.7 非成员函数的操作符 8.7.1 作为成员函数的操作符 8.7.2 作为非成员函数实现的操作符 8.7.3 为什么需要转换 8.8 转换函数 8.8.1 转换构造函数和转换函数之间的相互影响 8.8.2 消除对临时对象的需求 8.9 从操作符函数返回结果 8.10 赋值操作符 8.11 小结 第9章 泛型类型 9.1 重复性编码问题 9.2 智能解决方案——泛型编程 9.3 泛型类型(类)的基本知识 9.4 泛型类型和代码重复 9.5 泛型类实现者与客户之间的契约 9.5.1 这是否是良好的设计 9.5.2 泛型类实现中的操作符和成员函数 9.5.3 替换解决方案——泛型类的特殊化 9.6 模板特殊化 9.6.1 模板成员函数的特殊化 9.6.2 另一种替换方案:分离对象的比较 9.6.3 不能随意停用模板类的原因 9.7 模板类特殊化 9.8 泛型函数的概念 9.9 C++中模板类和成员函数的实例化 9.10 泛型类型和类型检查 9.11 约束泛型和无约束泛型 9.11.1 C++中对模板参数的约束 9.11.2 C++中模板参数的特定类型 9.11.3 模板参数的默认值 9.12 C++中对模板参数执行约束 9.13 泛型类和选择性导出 9.14 继承和泛型类 9.15 泛型类继承的用途 9.16 控制对象创建的一般技巧 9.17 实现计数指针 9.18 尽量减少模板对象的代码重复 9.18.1 程序的内存占用 9.18.2 减少模板代码的方案 9.19 模板类和源代码保护 9.20 共享(动态)库中的模板类 9.20.1 共享库中的模板类——多实例问题 9.20.2 消除共享库中的多个实例 9.20.3 和现有共享库链接 9.20.4 容器类 9.21 泛型类和继承的比较 9.22 小结 第10章 处理异常情况 10.1 处理错误状况的原因 10.2 错误码的替换方案 10.3 C++异常处理模型 10.3.1 C++异常机制的工作方式 10.3.2 try块的重要性 10.3.3 throw表达式的重要性 10.3.4 理解动态调用链 10.3.5 处理多个异常 10.3.6 catch块的责任 10.4 Eiffel中的异常模型 10.5 Eiffel和C++异常模型的优缺点 10.6 有效地使用C++异常 10.7 创建异常层次 10.7.1 catch处理代码的顺序 10.7.2 编写异常安全函数 10.8 项目中的异常处理架构 10.9 项目中错误管理的成功策略 10.9.1 函数不是防火墙 10.9.2 设计异常层次 10.10 异常环境中的资源管理 10.10.1 自动资源管理 10.10.2 泛化资源管理解决方案 10.11 异常和构造函数 10.11.1 从函数中返回安全资源 10.11.2 管理对象数组的辅助类 10.11.3 自动无用单元收集的开销 10.12 构造函数的部分完成 10.13 使用异常创建安全数组 10.14 小结 第二部分 构建强大的<em>面向对象</em>软件 第11章 掌握数据抽象 11.1 隐藏抽象的实现细节 11.1.1 使用句柄的优点 11.1.2 使用句柄的缺点 11.2 将指针作为数据成员使用(惰性求值) 11.3 控制对象创建 11.3.1 只允许使用new()操作符创建对象 11.3.2 防止使用new()操作符创建对象 11.4 使用指针和引用代替内嵌对象 11.5 避免用大型数组作为自动变量(或数据成员) 11.6 使用对象数组和对象指针数组 11.7 用对象代替基本类型指针作为数据成员和成员函数的返回值 11.8 与C的兼容性 11.9 合理选择实现:对象大小和代码效率 11.10 避免临时对象 11.11 使用复制构造函数初始化对象 11.12 有效使用代理对象 11.12.1 代理对象有助于安全共享对象 11.12.2 代理对象易于使用 11.12.3 代理对象是远程对象的替身 11.12.4 智能代理对象提供额外的功能 11.12.5 代理对象解决语法/语义的问题 11.12.6 泛型下标代理技术 11.13 使用简单的抽象建立更复杂的抽象 11.14 抽象必须允许客户以不同的方式使用类 11.15 小结 第12章 高效使用继承 12.1 用继承实现简洁的菜单和命令 12.2 封装创建对象的细节 12.3 虚构造函数的概念 12.4 为协议控制而组合使用虚函数和非虚函数 12.5 双分派概念 12.6 设计和实现容器类 12.7 设计可处理不同类型的容器 12.8 用泛型编程实现同质容器类 12.8.1 设计目的 12.8.2 基于模板的同质容器的优点 12.9 基于模板的容器的缺点 12.10 导航容器 12.11 主动迭代器 12.12 管理容器和迭代器——客户的角度 12.12.1 样式1:在容器中创建并返回迭代器供用户使用 12.12.2 样式2:按值返回用户可使用迭代器控制的容器 12.13 C++标准模板库(STL) 12.13.1 STL容器 12.13.2 迭代器 12.13.3 STL中的算法 12.14 小结 12.15 TArray容器的实现代码 第13章 理解C++对象模型 13.1 高效实现 13.2 C++表示对象的方式 13.2.1 没有虚函数的类 13.2.2 成员函数 13.2.3 静态数据成员 13.2.4 构造函数 13.3 包含虚函数的类 13.4 在共享库之间共享虚函数表 13.5 虚函数和多重继承(非虚基类) 13.6 虚基类 13.6.1 虚基类的成员访问 13.6.2 带虚函数的虚基类 13.7 RTTI(运行时类型识别)的实现支持 13.8 基于对象和<em>面向对象</em>编程 13.9 引用、指针和值 13.9.1 引用和指针的赋值 13.9.2 复制构造函数 13.9.3 构造函数的职责 13.10 复制构造函数的责任 13.11 优化对象的按值传递和按值返回 13.11.1 按值传递 13.11.2 按值返回 13.12 运行时初始化 13.13 小结 附录 A 参考书目和推荐读物 索引
C++面向对象高效编程
C++<em>面向对象</em><em>高效编程</em>,Kayshav Dattatri著,中文版pdf
软件测试入门:阅读《软件测试》(原书第2版,(美)Ron Patton 著,张小松、王钰、曹跃 等译)一书
该书全面系统地介绍了软件测试理论及应用技术,不仅讲述基本的测试技能,也讲述成为一个成功的软件测试员所必须掌握的高级技能。   第一部分 软件测试综述 第1章 软件测试的背景 软件错误实例:迪斯尼的狮子王游戏在大多数系统不能运行;爱国者导弹系统时钟累积错误;千年虫(年份用两位数表示)出现问题等。 产品说明书对开发的产品进行定义,给出产品细节、如何做、做什么、不能做什么。 至少满足如下5个
c++面向对象高效编程pdf.part2
c++<em>面向对象</em><em>高效编程</em>,<em>kayshav</em> <em>dattatri</em> 著,萧湘工作室译,非常不错的一本书,pdf格式。分两部分。
c++面向对象高效编程pdf
c++<em>面向对象</em><em>高效编程</em>,<em>kayshav</em> <em>dattatri</em> 著,萧湘工作室译,非常不错的一本书,pdf格式。分两部分。
软件测试原书第二版(美)佩腾.pdf
软件测试原书第二版(美)佩腾.pdf,里面附有软件测试经验与教训pdf,这两本书我用了很久,收益颇丰
数字图像处理的MATLAB实现 第2版(美)冈萨雷斯等著;阮秋琦译 pdf+源程序
数字图像处理的MATLAB实现 第2版(美)冈萨雷斯等著;阮秋琦译 pdf+源程序
软件测试(原书第2版中文)PDF版
一般讲测试的数据,新手可以入门,老手可以巩固知识体系。
数字图像处理的MATLAB实现 第2版(美)冈萨雷斯等著;阮秋琦译.pdf
数字图像处理的MATLAB实现 第2版(美)冈萨雷斯书籍完整版
c++ 面向对象高效编程(第二版 最新版)002 (共分三卷)
c++ <em>面向对象</em><em>高效编程</em> 是经典的c++入门书籍,学习<em>面向对象</em>的编程的好书籍,目前为止最新一版
应用随机过程概率模型导论 第11版 [(美)SHELDON M.ROSS著;龚光鲁译][人民邮电出版社]
应用随机过程概率模型导论 第11版 [(美)SHELDON M.ROSS著;龚光鲁译][人民邮电出版社][2016.03][638页][13938597]
JavaScript高级程序设计(第3版中文)[美]Nicholas C.Zakas著,李松峰,曹力译
JavaScript高级程序设计(第3版中文)[美]Nicholas C.Zakas著,李松峰,曹力译
软件测试(原书中文第二版)带目录.pdf
软件测试(原书第2版) (美)佩腾(Patton,R.) 著,张小松 等译,这本书可以用来作为进入行业的第一本书,本书讲解的都是实用的技术,通过阅读本书可以快速的去学会如何测试软件
《C++编程思想(第1卷)(第2版)》(Bruce Eckel[美] 著,刘宗田 等 译)
《C++编程思考》第2版与第1版相比,在章节安排上有以下改变。增加了两章:“对象的创建与使用”和“C++中的C”,前者与“对象导言”实际上是第1版“对象的演化”一章的彻底重写,增加了近几年<em>面向对象</em>方法和编程方法的最瓣研究与实践的有效成果,后者的添加使不熟悉C的读者可以直接使用这本书。删去了四章:“输入输出流介绍”、“多重继承”、“异常处理”和“运行时类型识别”,删去的内容属于C++中较复杂的主题,作者将它们连同C++标准完成后又增加的一些内容放到第2卷中,使得第1卷的内容更加集中,供不同程度的读者选择阅读。需要强调的是,第2版的改变不仅体现在这些章节的调整上,更多的改变体现在每一章的字里行间中,包括例子的调整和练习的补充。与众不同的精心选材和认真推敲的叙述使得第2版更趋成熟。这本书是C++领域的一本权威著作,书中的内容、讲授方法、选用例子和跟随练习既适合课堂教学,又适合读者自学。 目录: 第一章 对象导言 第二章 对象的创建于使用 第三章 C++中的C 第四章 数据抽象 第五章 隐藏实现 第六章 初始化与清除 第七章 函数重载于默认参数 第八章 常量 第九章 内联函数 第十章 名字控制 ——《豆瓣读书》
算法设计与分析基础》第三版,Anany Levitin著,潘彦译
算法设计与分析基础》第三版,Anany Levitin著,潘彦译
C++面向对象程序设计(第七版)Walter Savitch 著 周靖 译 编程项目答案、课件、实验手册(来自作者博客)
C++<em>面向对象</em>程序设计(第七版)Walter Savitch 著 周靖 译 课后编程项目答案、课件、实验手册等,来自作者博客,也只是部分源码,不过还是比较全的,是随书源码,课件和实验手册为英文版。
敏捷软件开发.pdf
目录   译者序   第2版前言   第1版前言   第0章不可知和不可说   0.1和解析体验相关的问题   0.1.1解析模式的冲突   0.1.2检测解析模式   0.1.3思考不准确的思想   0.2沟通的不可能性   0.2.1内部重新组织   0.2.2触及共享体验   0.2.3管理不完美的沟通   0.3聆听的三个层次   0.3.1三个层次和方法集   0.3.2三个层次与本书   0.3.3守-破-离   0.4那么,明天我做什么   第0A章不可知和不可说:演进   0A.1沟通和共享的体验   0A.2守-破-离   第1章创造和沟通的合作博弈   1.1软件和诗歌   1.2软件与博弈   1.2.1博弈的类型   1.2.2软件与攀岩   1.2.3创造和沟通的博弈   1.2.4软件与工程化   1.2.5软件与模型构建   1.3再论合作博弈   1.3.1程序员成为沟通专家   1.3.2更快地博弈   1.3.3标识物和道具   1.3.4减少回报   1.3.5对于首要目标的充分度   1.3.6对于积淀的充分度   1.3.7博弈中的博弈   1.3.8开放源码开发   1.4这对我意味着什么   第1A章创造和沟通的合作博弈:演进   1A.1沼泽游戏   1A.2合作中的竞争   1A.3其他领域的合作博弈   1A.4软件工程的重建   1A.4.1这一词汇从哪里来   1A.4.2我们从哪里走错了   1A.4.3重建软件工程   1A.4.4技艺   1A.4.5合作博弈   1A.4.6精益制造   1A.4.7重建后的软件工程   1A.4.8其他工程化中的协作   第2章个人   2.1人是古怪的   2.1.1寻找特征函数   2.1.2古怪性格的元素   2.1.3不可避免的多样性   2.1.4技术的作用   2.1.5相互冲突的共同点   2.2克服失败模式   2.2.1犯错误   2.2.2宁可失败也要选择保守   2.2.3创新而不研究   2.2.4不能始终如一的习惯动物   2.2.5使用纪律和容忍来应对   2.3以一些更好的方式工作   2.3.1具体化   2.3.2实物   2.3.3在某些东西的基础上进行修改   2.3.4观察和聆听   2.3.5支持专注和沟通   2.3.6工作分配要与个性相匹配   2.3.7天赋   2.3.8奖励要能保留乐趣   2.3.9组合奖励   2.3.10反馈   2.4利用成功模式   2.4.1善于四处寻找   2.4.2人们学习   2.4.3可塑性   2.4.4贡献和采取主动   2.4.5组合成功模式   2.4.6英雄也是普通人   2.5明天我该做什么   第2A章个人:演进   2A.1策略平衡   第3章团队的沟通与合作   3.1信息的对流   3.1.1延迟和机会损失成本   3.1.2尔格-秒   3.1.3渗透式沟通   3.1.4穿堂风   3.1.5信息辐射源   3.1.6热空气理论的应用   3.2跨越沟通的鸿沟   3.2.1沟通的形态   3.2.2去掉某些形态所产生的影响   3.2.3利用各种形态   3.2.4黏度与跨越空间的鸿沟   3.3团队就是集体   3.3.1友善和冲突   3.3.2工作时间的公民意识   3.3.3敌意的XP与友善的XP   3.3.4使用胜利来建立“团队”   3.3.5团队文化与亚文化   3.4团队就是生态系统   3.5我明天该做什么   第3A章团队:演进   3A.1一个修订后的办公室布局样本   第4章方法集   4.1一个交付软件的生态系统   4.2方法集中的概念   4.2.1结构术语   4.2.2范围   4.2.3概念术语   4.2.4发布一个方法集   4.3方法集的设计原则   4.3.1常见设计错误   4.3.2在方法集上成功的项目   4.3.3与作者的相关性   4.3.4七条原则   4.4细看XP   4.4.1XP简介   4.4.2剖析XP   4.4.3调整XP   4.5到底为什么使用方法集   4.5.1方法集解决什么问题   4.5.2如何评估一个方法集   4.6明天我应该做什么   第4A章方法集:演进   4A.1方法集与策略   4A.2组织级的方法集   4A.3过程就是循环   4A.4更简单地描述方法集   第5章敏捷与自适应   5.1轻但足够   5.1.1刚好足够   5.1.2对于编制文档的建议   5.2敏捷   5.2.1最佳击球点   5.2.2虚拟团队的麻烦   5.3变得自适应   5.3.1不厌其烦地进行反思   5.3.2方法集成长技术   5.3.3反思研讨会技术   5.4明天我该做什么   第5A章敏捷与自适应:演进   5A.1对于寓意的误解   5A.1.1迭代必须简短   5A.1.2敏捷团队必须驻扎在一起   5A.1.3敏捷团队不需要计划   5A.1.4架构已死;重构是你全部所需要的   5A.1.5我们不需要什么经理   5A.1.6敏捷开发在纪律上要求很低   5A.1.7敏捷只适合最优秀的开发人员   5A.1.8敏捷是既老又新的、失败的、没有尝试过的   5A.2敏捷方法集的演进   5A.2.1XP第2版   5A.2.2Scrum   5A.2.3实用主义和无名的   5A.2.4可预测、计划驱动和其他中心调整   5A.2.5约束理论   5A.2.6精益开发   5A.3新的方法集话题   5A.3.1敏捷项目管理   5A.3.2测试   5A.3.3用户体验设计   5A.3.4规划管控、Burn图和系统工程   5A.3.5用例和用户故事   5A.4经久不绝的问题   5A.4.1最佳击球点和下降   5A.4.2固定价格、固定范围的合同   5A.4.3敏捷、CMMI和ISO9001   5A.4.4何时停止建模   5A.4.5高科技/高接触的工具箱   5A.4.6敏捷的中心   5A.4.7你有多敏捷   5A.4.8引入敏捷   5A.5软件开发之外的敏捷   5A.5.1项目组合管理   5A.5.2客户关系   5A.5.3合同   5A.5.4将变更引入组织   5A.5.5程序员读哈佛商业周刊   5A.5.6建造房屋   5A.5.7机场建设   5A.5.8图书出版   5A.5.9会议组织和敏捷模型的限制   第6章Crystal方法集   6.1对Crystal家族塑形   6.1.1核心Crystal元素   6.2CrystalClear   6.2.1CrystalClear的简要描述   6.2.2CrystalClear的反思   6.3CrystalOrange   6.3.1CrystalOrange的简要描述   6.3.2CrystalOrange的反思   6.4CrystalOrangeWeb   6.4.1CrystalOrangeWeb的简要描述   6.4.2CrystalOrangeWeb的反思   6.5明天我该做什么   第6A章Crystal方法集:演进   6A.1Crystal基因代码   6A.1.1合作博弈的理念   6A.1.2方法集的重点   6A.1.3方法集设计原则   6A.1.4高度成功的项目的7个特性   6A.1.5技术与选择   6A.1.6样本方法集设计   6A.2CrystalClear   6A.3把CrystalClear扩展到Yellow   附录A敏捷软件开发宣言   附录Aa敏捷软件开发宣言和相互依赖声明   附录BNaur、Ehn、宫本武藏   附录BaNaur、Ehn、宫本武藏:演进   附录C后记   参考文献
软件测试 原书第2版(Ron Patton 张小松 译)
软件测试(原书第2版) 作者: [美]Ron Patton 出版社: 机械工业出版社 译者: 张小松 / 王珏 / 曹跃 出版年: 2006-4 页数: 254 丛书: 计算机科学丛书 ISBN: 9787111185260
软件测试-第2版-[美]RON PATTON
书籍是入门性质,适合软件测试人员或是QA质量人员阅读与学习。
计算机图形学 第二版 Peter Shirley 带书签
本书是国外高校采用率很高的计算机图形学教材,共分为26 章,全面系统地讲解了计算机图形学的基本概念和相关技术。书中先介绍图形学相关的数学知识,然后依次讲解图形学的光栅算法、三维观察、隐藏面消除、光照、纹理、绘制等算法和理论,并介绍可视感知、计算机动画、基于图像的绘制、可视化以及构建交互式图形应用等。
软件工程:第4版(软件工程领域公认的经典名著)
软件工程:第4版(软件工程领域公认的经典名著) 基本信息 原书名: Software Engineering: Theory and Practice (4th Edition) 原出版社: Prentice Hall 作者: (美)Shari Lawrence Pfleeger(加)Joanne M. Atlee 译者: 杨卫东[同译者作品] 丛书名: 图灵计算机科学丛书 出版社:人民...
《算法导论(原书第2版)》(Thomas H.Cormen[美] 等 著,潘金贵 等 译)
这本书深入浅出,全面地介绍了计算机算法。对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。书中专门讨论了线性规划,介绍了动态规划的两个应用,随机化和线性规划技术的近似算法等,还有有关递归求解、快速排序中用到的划分方法与期望线性时间顺序统计算法,以及对贪心算法元素的讨论。此书还介绍了对强连通子图算法正确性的证明,对哈密顿回路和子集求和问题的NP完全性的证明等内容。全书提供了900多个练习题和思考题以及叙述较为详细的实例研究。 ——《豆瓣读书》
随机过程(Sheldon M[1].Ross 著)
随机过程(Sheldon M[1].Ross 著).pdf
随机过程 第2版 [美] Sheldon M.Ross 著;龚光鲁 译 中文 高清 带详细书签
【内容简介】 这本经典的教材已畅销世界30年,被美国的斯坦福大学、哥伦比亚大学以及法国的欧洲工商管理学院(INSEAD)等很多名校用作教材。作者难能可贵地使用富有启发性又非常有趣的直观推导方法,对于只掌握初等概率论及工科高等数学的读者来说,本书是学习应用随机过程的优秀入门书,从本书中既能了解基本内容,又能学到解决问题的方法、思路与技巧。 原著第1版于1983年出版,中国统计出版社于1997年出版了由何声武等人翻译的中文版,被我国概率界奉为经典,北京大学、上海交通大学、华东师范大学、东北师范大学等很多学校至今都指定这本书为教材或主要参考书。原著第2版于1995年出版,对第1版作了全面修订和更新,内容扩充到10章,与时俱进地加进了Gibbs采样与Metropolis采样等可近似地跟踪Markov链的路径的方法,还增加了很多例子和习题。时至今日,才有第2版的中文版问世。 【读者评论】 “如果你是从业人员,想找到已知的随机过程理论,培养自己的概率思维,并用它们解决新问题,那这本书是最佳选择。无论你在学校用哪本教材,当你离开学校,在现实世界中做应用随机建模时,你都会发现Ross的这本书极其有价值,而且独一无二。本书是真正实用的资源,一些很难的或在别处不可能找到的结果都能在这里轻易找到。此外,证明虽然简单,但是非常清晰……” ——Amazon读者评论 Sheldon M. Ross 世界著名的应用概率专家和统计学家,现为南加州大学工业与系统工程系Epstein讲座教授。他于1968年在斯坦福大学获得统计学博士学位,在1976年至2004年期间于加州大学伯克利分校任教,其研究领域包括统计模拟、金融工程、应用概率模型、随机动态规划等。Ross教授创办了《Probability in the Engineering and Informational Sciences》杂志并一直担任该杂志主编。他的多种畅销教材均产生了世界性的影响,其中《统计模拟(第5版)》和《概率论基础教程(第9版)》等均由机械工业出版社引进出版。
JavaScript 权威指南 中文第6版 (完整目录 淘宝前端团队 译)
JavaScript 权威指南 中文第6版(完整目录 淘宝前端团队 译)
软件测试(第二版)--美 Paul C.Jorgensen著,韩柯 杜旭涛译
全书共分为五部分 数学部分 功能性测试 结构性测试 集成与系统测试 <em>面向对象</em>的测试
软件工程 第4版_(美)弗里格,(加)阿特利著;杨卫东译_北京:人民邮电出版社_2010.05_P548_12559577
软件工程 第4版_(美)弗里格,(加)阿特利著;杨卫东译_北京:人民邮电出版社_2010.05_P548_12559577
计算机网络(第5版)-[美] 特南鲍姆,[美] 韦瑟罗尔 著;严伟,潘爱民 译
《计算机网络(第5版)》是国内外使用zui广泛、专业的计算机网络经典教材。全书按照网络协议模型自下而上(物理层、数据链路层、介质访问控制层、网络层、传输层和应用层)有系统地介绍了计算机网络的基本原理,并结合Internet给出了大量的协议实例。电子版仅供预览及学习交流使用,<em>下载</em>后请24小时内删除,支持正版,喜欢的请购买正版书籍。
《软件测试(原书第2版)》
Please description how to test the function that read three integers as the length of one triangle’s three edges and output the triangle’s information: not a triangle, isosceles triangle, equilateral
C语言程序设计_现代方法(第2版)-第二版-高清-带书签-K. N. King-吕秀锋译-201004.pdf
C语言学习必读书籍!!豆瓣评分9.3。 C语言程序设计现代方法(第二版)出版年: 2010-4,页数: 600,定价: 79.00元,ISBN: 9787115219572。 本书最主要的一个目的就是通过一种“现代方法”来介绍 C语言,书中强调标准 C,强调软件工程,不再强调“手工优化”。这一版中紧密结合了 C99标准,并与 C89标准进行对照,补充了 C99中的最新特性。本书分为 C语言的基础特性、 C语言的高级特性、 C语言标准库和参考资料 4个部分。每章末尾都有一个“问与答”小节给出一系列与该章内容相关的问题及答案,此外还包含适量的习题。 本书是为大学本科阶段的 C语言课程编写的教材,同时也非常适合作为其他课程的辅助用书。
[计算机网络(第5版)].(美)特南鲍姆——(严伟,潘爱民译)高清版
计算机网络(第5版).(美)特南鲍姆——(严伟,潘爱民译)高清非扫描版
敏捷软件开发 Robert.C.Martin著
扫描版 敏捷软件开发(原则、模式与实践) Robert.C.Martin著
电路 第10版(美)JAMES W.NILSSON,SUSAN A.RIEDEL著;周玉坤,冼立勤,李莉,宿淑春译,带书签,ORC已识别。part-2
学习电路课程的精品教材。此文件为3个压缩包之一,请到版主共享资源页面<em>下载</em>其它两个,并在同一目录下解压。
算法设计与分析基础(第三版+中文版)(美) 莱维汀(Anany Levitin) 著
本资源是以压缩包形式上传的,里面是本书的PDF格式的电子书。 本书作者:(美) 莱维汀(Anany Levitin) 著;潘彦 译 内容简介: 作者基于丰富的教学经验,开发了一套全新的算法分类方法。该分类法站在通用问题求解策略的高度,对现有大多数算法准确分类,从而引领读者沿着一条清晰、一致、连贯的思路来探索算法设计与分析这一迷人领域。本书作为第3版,相对前版调整了多个章节的内容和顺序,同时增加了一些算法,并扩展了算法的应用,使得具体算法和通用算法设计技术的对应更加清晰有序;各章累计增加了70道习题,其中包括一些有趣的谜题和面试问题。 本书十分适合用作算法设计和分析的基础教材,也适合任何有兴趣探究算法奥秘的读者使用,只要读者具备数据结构和离散数学的知识即可。 部分章节目录: 第1章 绪论 1 1.1 什么是算法 2 习题1.1 6 1.2 算法问题求解基础 7 1.2.1 理解问题 8 1.2.2 了解计算设备的性能 8 1.2.3 在精确解法和近似解法之间做出选择 9 1.2.4 算法的设计技术 9 1.2.5 确定适当的数据结构 9 1.2.6 算法的描述 10 1.2.7 算法的正确性证明 10 1.2.8 算法的分析 11 1.2.9 为算法写代码 12 习题1.2 13 1.3 重要的问题类型 14 1.3.1 排序 15 1.3.2 查找 16 1.3.3 字符串处理 16 1.3.4 图问题 16 1.3.5 组合问题 17 1.3.6 几何问题 17 1.3.7 数值问题 18 习题1.3 18 1.4 基本数据结构 20 1.4.1 线性数据结构 20 1.4.2 图 22 1.4.3 树 25 1.4.4 集合与字典 28 习题1.4 29 小结 30 第2章 算法效率分析基础 32 2.1 分析框架 33 2.1.1 输入规模的度量 33 2.1.2 运行时间的度量单位 34 2.1.3 增长次数 35 2.1.4 算法的最优、最差和平均效率 36 2.1.5 分析框架概要 38 习题2.1 39 2.2 渐近符号和基本效率类型 40 2.2.1 非正式的介绍 40 2.2.2 符号O 41 2.2.3 符号 42 2.2.4 符号 42 2.2.5 渐近符号的有用特性 43 2.2.6 利用极限比较增长次数 44 2.2.7 基本的效率类型 45 习题2.2 46 2.3 非递归算法的数学分析 48 习题2.3 52 2.4 递归算法的数学分析 54 习题2.4 59 2.5 例题:计算第n个斐波那契数 62 习题2.5 65 2.6 算法的经验分析 66 习题2.6 69 2.7 算法可视法 70 小结 73 第3章 蛮力法 75 3.1 选择排序和冒泡排序 76 3.1.1 选择排序 76 3.1.2 冒泡排序 77 习题3.1 78 3.2 顺序查找和蛮力字符串匹配 80 3.2.1 顺序查找 80 3.2.2 蛮力字符串匹配 81 习题3.2 82 3.3 最近对和凸包问题的蛮力算法 83 3.3.1 最近对问题 83 3.3.2 凸包问题 84 习题3.3 87 3.4 穷举查找 89 3.4.1 旅行商问题 89 3.4.2 背包问题 90 3.4.3 分配问题 91 习题3.4 93 3.5 深度优先查找和广度优先查找 94 3.5.1 深度优先查找 94 3.5.2 广度优先查找 96 习题3.5 98 小结 100
Java编程思想 第4版 Bruce Eckel 著 陈昊鹏 译
第1章   对象导论     11.1   抽象过程 11.2   每个对象都有一个接口     21.3   每个对象都提供服务         41.4   被隐藏的具体实现     
软件测试(美)Ron Patton 基础知识整理 2
第二章 软件开发的过程软件产品的组成部分大多数人觉得软件产品就是从网上<em>下载</em>的软件,或者从各渠道只要是能够在计算机上安装使用的程序。其实软件产品不仅只有这些,包括产品说明书、设计文档、进度表、测试计划、软件代码等。然后我们从这几个方面具体说一下:产品说明书:必须了解真实的用户需求,以及客户要求的具体功能,真正的定义产品是什么、哪些功能、外观。进度表:...
Stephen R.Schach《软件工程 面向对象和传统的方法》总结
-
《Spring实战(第4版)》.( [美] Craig Walls 沃尔斯).[PDF]
《Spring实战(第4版)》.( [美] Craig Walls 沃尔斯).[PDF]@ckook.pdf
C语言程序设计 现代方法(第二版)【美】K.N.King 著 中文版
C语言程序设计:现代方法(第2版)目录 第1章 C语言概述 第2章 C语言基本概念 第3章 格式化输入/输出 第4章 表达式 第5章 选择语句 第6章 循环 第7章 基本类型 第8章 数组 第9章 函数 第10章 程序结构 第11章 指针 第12章 指针和数组 第13章 字符串 第14章 预处理器 第15章 编写大型程序 第16章 结构、联合和枚举 第17章 指针的高级应用 第18章 声明 第19章 程序设计 第20章 底层程序设计 第21章 标准库 第22章 输入/输出 第23章 库对数值和字符数据的支持 第24章 错误处理 第25章 国际化特性 第26章 其他库函数 第27章 C99对数学计算的新增支持
Java编程思想(第4版)_埃克尔_高清中文完整版(完整书签).pdf
本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的<em>面向对象</em>概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。 从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、JavaI/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授<em>面向对象</em>程序设计语言以及Java语言的绝佳教材和参考书。
软件测试(美)Ron_Patton中文电子版(完整)
软件测试(美)Ron_Patton中文电子版(完整) 《软件测试》 作者:(美)Ron Patton 译者:周予滨 姚静 出版社:机械工业出版社 原出版社: SAMS
数据结构与算法分析(C++)(第二版)中文版Clifford A. Shaffer著 张铭 刘晓丹 等译 电子工业出版社 带目录
数据结构与算法分析(C++)(第二版)中文版Clifford A. Shaffer著 张铭 刘晓丹 等译 电子工业出版社 带目录
数字通信(张力军)
电子工业出版社《数字通信(第四版)》美。普罗基斯,张力军译
算法设计与分析基础(Anany Levitin著,潘彦译,第三版)课后答案
算法设计与分析基础(Anany Levitin著,潘彦译)第三版课后答案。
C Primer Plus 第6版中文版(美)STEPHEN PRATA著 姜佑译 人民邮电出版社
C Primer Plus 第6版中文版(美)STEPHEN PRATA著 姜佑译 人民邮电出版社
C++ 面向对象程序设计(第七版) 周靖 译
C++ <em>面向对象</em>程序设计(第七版) 周靖 译 包含: 1.源码 2.实验手册 3.教师手册,编程项目参考答案
Craig Walls Spring实战第4版 人民邮电出版社 张卫滨译
1. Craig Walls的<>.pdf 人民邮电出版社 张卫滨译 3. 想要书中代码的话 ,可以留言 , 本书一共21 章, 包括了spring所有重要知识 4. 第21章是 Spring Boot , 本书的spring版本为spring4.0 5. 我的另一个资源包括了本书的所有源代码
模拟电子技术 [(美)博伊尔斯塔德著 李立华等译][电子工业出版社]
美版 模拟电子技术全书
【读书笔记--《软件测试(原书第二版)》】第6章 检查代码
静态白盒测试: 概念:是在不执行软件的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的过程,又称为结构化分析。
C语言程序设计现代方法第二版基础部分读书笔记(【美】K.N.King 著)
哈喽!我是甜筒科技【Aice】的大虫,首先先简单的谈谈本人对这本书的一些看法吧,刚刚从图书馆看到这本书的时候就感觉和其他书不一样,除了厚以外,简介的封面设计也吸引到了我。ps:为什么说感觉和其他书不一样呢,其实是有原因的,因为周围的书全是c语言程序设计,换汤不换药。但是这本书后面加了一个现代方法。哈哈,可能是笔者的一点点小偏见吧,但是确实是他的封面,厚度和这句话紧紧的吸引住了我的眼球。废话就不多说
图像处理与计算机视觉算法及应用(第2版)
图像处理与计算机视觉算法及应用(第2版) 基本信息:   书名原文:Algorithms for Image Processing and Computer Vision,Second Edition ISBN978-7-302-28222-8 定价:49元 作译者:(加拿大) 帕科尔(Parker,J. R.) 著;景丽 译 内容简介: 作者简介: J. R. Park
《计算机网络自顶向下方法(原书第6版)》(James F.Kurose[美]、Keith W.Ross[美] 著,陈鸣 译)
库罗斯、罗斯编著的《计算机网络:自顶向下方法(原书第6版)》是当前世界上*为流行的计算机网络教科书之一,采用作者独创的自顶向下方法讲授计算机网络的原理及其协议,即从应用层协议开始沿协议栈向下讲解,让读者从实现、应用的角度明白各层的意义,强调应用层范例和应用编程接口,使读者尽快进入每天使用的应用程序环境之中进行学习和“创造”。 本书第1—6章适合作为高等院校计算机、电子工程等相关专业本科生“计算机网络”课程的教材,第7—9章可用于硕士研究生“高级计算机网络”课程教学。对网络从业者、有一定网络基础的人员甚至专业网络研究人员,本书也是一本优秀的参考书。 目录: 出版者的话 作译者简介 译者序 前言 第1章 计算机网络和因特网  1.1 什么是因特网   1.1.1 具体构成描述   1.1.2 服务描述   1.1.3 什么是协议  1.2 网络边缘   1.2.1 接入网   1.2.2 物理媒体  1.3 网络核心   1.3.1 分组交换   1.3.2 电路交换   1.3.3 网络的网络  1.4 分组交换网中的时延、丢包和吞吐量   1.4.1 分组交换网中的时延概述   1.4.2 排队时延和丢包   1.4.3 端到端时延   1.4.4 计算机网络中的吞吐量  1.5 协议层次及其服务模型   1.5.1 分层的体系结构   1.5.2 封装  1.6 面对攻击的网络  1.7 计算机网络和因特网的历史   1.7.1 分组交换的发展:1961~1972   1.7.2 专用网络和网络互联:1972~1980   1.7.3 网络的激增:1980~1990   1.7.4 因特网爆炸:20世纪90年代   1.7.5 最新发展  1.8 小结  课后习题和问题   复习题   习题  Wireshark实验  人物专访 第2章 应用层  2.1 应用层协议原理   2.1.1 网络应用程序体系结构   2.1.2 进程通信   2.1.3 可供应用程序使用的运输服务   2.1.4 因特网提供的运输服务   2.1.5 应用层协议   2.1.6 本书涉及的网络应用  2.2 Web和HTTP   2.2.1 HTTP概况   2.2.2 非持续连接和持续连接   2.2.3 HTTP报文格式   2.2.4 用户与服务器的交互:cookie   2.2.5 Web缓存   2.2.6 条件GET方法  2.3 文件传输协议:FTP  2.4 因特网中的电子邮件   2.4.1 SMTP   2.4.2 与HTTP的对比   2.4.3 邮件报文格式和MIME   2.4.4 邮件访问协议  2.5 DNS:因特网的目录服务   2.5.1 DNS提供的服务   2.5.2 DNS工作机理概述   2.5.3 DNS记录和报文  2.6 P2P应用   2.6.1 P2P文件分发   2.6.2 分布式散列表  2.7 TCP套接字编程   2.7.1 UDP套接字编程   2.7.2 TCP套接字编程  2.8 小结  …… 第3章 运输层 第4章 网络层 第5章 链路层:链路、接入网和局域网 第6章 无线网络和移动网络 第7章 多媒体网络 第8章 计算机网络中的安全 第9章 网络管理 参考文献
Java 高效编程(Effective Java)中文第三版
来源:sjsdfg/effective-java-3rd-chinese 前 51 条来源:Effective Java, Third Edition 《Effective Java, Third Edition》一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语...
《MATLAB编程(第二版)》高清晰PDF版 Stephen J. Chapman著 邢树军 郑碧波译
本文为Stephen J.Chapman《MATLAB编程(第二版)》英文影印版的中文译本,这本书对初学者很好的入门教材。之前从网上<em>下载</em>到邢树军兄弟译的pdf版本,邢的这个版本用起来有以下几方面不便: 1.文件较大。 2.打开之后总是提示播放某首歌,很烦。 3.源代码和图形采用了大量的图片,不方便学习者直接复制到matlab中进行调试学习。即使是文本的源代码,也经常出错,主要是每一行语句末尾的“;”为中文编码的分号。 4.个别字翻译错误(sorry,我的这个版本也没有完全消除),但我有发现的已经更正。 5.第十章翻译不完全。本来全书只有十章,在第十章还没有翻译结束时插进了第十一章。 6.附录A和B没有(翻译)提供。其中附录B为练习答案,其实这对初学者来说,是极其重要的。 (以上所说的可能只是在该译本的测试版本中出现,由于本人没能和树军兄弟联系上,未知详细事宜) 于是就想着改进该版本的,可惜没能和树军兄弟联系上。如果树军兄弟看到此信息,请与我联系(bibofun@163.com)。 本版本在邢译本的基础上做如下修改: 1.转换成doc格式,重新排版(其它也没有怎样排版) 2.更换封面,去掉歌曲,各章节以独立doc文档出现。 3.所有源代码测试正确。 4.几乎用了全新的截图代替原来的,现在比较多是彩色的了。 4.提供了附录A和附录B。 本版本有如下缺点 1.由于本人用的MATLAB是7.0版本,在winxp中运行。一些截图与原英文版本不一样(原英文版本MATLAB为6.0版本),好在基础知识方面的学习差别不大。 2.第十章仍没有完全提供。本来想把它翻译完,做到与原英文版一致,但由于我<em>下载</em>不到6.0版本,好不容易<em>下载</em>到6.5版本,安装时提示没有ms installer(其实应该是我的电脑上的installer版本太新才对),安装不成功。7.0版本在GUI方面与6.0版本已经有较大不同。我将会在以后想办法提供第十章。 3.附录B与前面的专有名词翻译可能会不一致。例如cell array一词,邢把它译为“单元阵列”,而我把它称为“胞数组”。我是一个初学者,不知权威的书是如何翻译的。不管如何,我已经做了相应说明,希望不会引起读者太大的不便。 本人03年12月过的cet6,之后一直忽略英语学习,对英语也忘记得七七八八了。在翻译过程中肯定有不少不恰当的地方,如果你发现,你可以修改它,如有可能,请把修改后的word版本发给我,谢谢! 最后,感谢邢树军兄弟的无偿奉献。其实翻译之后才发现,翻译过程是一项很繁重很枯燥的事情! 让我们共同把本书做好! 郑碧波(邮箱bibofun@163.com) 2008-1-25
《电磁兼容导论》中文 高清 第一版.pdf
《电磁兼容导论》中文 高清 第一版。Introduction to Electromagnetic Compatibility,(美)Clayton R.Paul 著,闻映红 等译
Web数据挖掘 中文 第2版 高清 电子书 pdf [刘兵著;俞勇译][清华大学出版社]
(世界著名计算机教材精选 Web数据挖掘 第2版 高清 电子书 pdf <em>下载</em> [刘兵著;俞勇译][清华大学出版社][2013.01][434页].pdf
MATLAB编程(第二版)》高清晰PDF版.Stephen J. Chapman著 邢树军 郑碧波译
MATLAB编程(第二版)》高清晰PDF版.Stephen J. Chapman著 邢树军 郑碧波译
差错控制编码(原书第2版)_[林舒 著][机械工业出版社][2007].pdf
《差错控制编码(原书第2版)_[林舒 著][机械工业出版社][2007].pdf》,学习编码不可不读的一本经典“绝版教材”!!!好东西大家分享
电路 第10版(美)JAMES W.NILSSON,SUSAN A.RIEDEL著;周玉坤,冼立勤,李莉,宿淑春译,带书签,ORC已识别。part-1
学习电路课程的精品教材。此文件为3个压缩包之一,请<em>下载</em>其它两个,并在同一目录下解压。
机器人学导论原书第3版(中文)
机器人学导论(原书第3版),ISBN:9787111186816,作者:(美)克来格(Craig,J.J) 著,贠超 等译;貟超译
图灵书籍(Ruby on Rails 4 Tutorial 中文版.pdf+微服务设计中文完整版.pdf)
图灵书籍包括Ruby on Rails 4 Tutorial 中文版.pdf、微服务设计中文完整版.pdf。
软件测试自学教程——书籍教程篇
基础篇: 1、软件测试(原书第2版) (美)佩腾(Patton,R.)著,张小松 等译 2、软件测试的艺术(原书第3版)  (美)梅耶 等 3、计算机软件测试(原书第2版) (美)卡尼尔 4、全程软件测试 朱少民 5、PaulC.Jorgensen的软件测试(第2版)   进阶篇: 1、有效软件测试 2、软件测试经验与教训 3、软件自动化测试技术与实例详解 4、软件测试自动化
应用随机过程概率模型导论 第11版 [(美)SHELDON M.ROSS著;龚光鲁译][
应用随机过程概率模型导论 第11版 [(美)SHELDON M.ROSS著;龚光鲁译] 上
Python基础教程(第3版).[挪]Magnus Lie Hetland(带完整书签高清文字版)
Python基础教程(第3版).[挪]Magnus Lie Hetland(带完整书签高清文字版) PDF <em>下载</em>
C Primer Plus 第6版 中文版(美)STEPHEN BPRATA著;姜佑译_北京:人民邮电出版社
C Primer Plus 第6版 中文版(美)STEPHEN BPRATA著;姜佑译_北京:人民邮电出版社,学习C语言的经典著作。
Essential C++中文版——满汉全席之外
满汉全席之外 Stanley B. Lippman 所著的C++ Primer 雄踞书坛历久不衰,堪称C++最佳教科书。但是走过十个年头之后,继1237 页的C++ Primer 第3 版,Lippman 又返璞归真地写了这本276 页的Essential C++。有了满汉全席,为何还眷顾清粥小菜?完成了伟大的巨著,何必回头再写这么一本轻薄短小的初学者用书呢? 所有知道Lipp
C语言解析教程(原书第4版)(美) 凯利.pdf
C语言教程(原书第4版) 《c语言教程(原书第4版)》是一本优秀的c程序设计语言教材,完整描述了ansi c语言及其语法特性,并对c语言的高级特性和应用作了深入阐述,介绍了从c到c++和java过渡的相关知识。《c语言教程(原书第4版)》的一个鲜明特色就是结合大量示例描述c语言的重要特征,并对很多工作代码给出了逐步的分析,以这种独特的教学方法向读者解释新接触的编程元素及一些惯用法。   《c语言教程(原书第4版)》系统、完整,可作为c语言的参考手册,也非常适合作为学习c语言的入门和高级课程教材。 前言 第0章 从零开始 0.1 为什么要用c 0.2 ansi c标准 0.3 从c到c++ 0.4 从c和c++到java 第1章 c语言概述 1.1 编程和预备知识 1.2 程序输出 1.3 变量、表达式和赋值 1.4 使用#define和#include 1.5 使用printf()和scanf() 1.6 控制流 1.7 函数 1.8 数组、字符串和指针 1.8.1 数组 1.8.2 字符串 1.8.3 指针 1.9 文件 1.10 与操作系统有关的内容 1.10.1 编写和运行c程序 1.10.2 中断程序 1.10.3 输入文件尾标志 1.10.4 输入和输出的重定向 1.11 总结 1.12 练习 第2章 词法元素、操作符和c系统 2.1 字符和词法元素 2.2 语法规则 2.3 注释 2.4 关键字 2.5 标识符 2.6 常量 2.7 字符串常量 2.8 操作符和标点符号 2.9 操作符的优先级和结合性 2.10 增值操作符和减值操作符 2.11 赋值操作符 2.12 例子:计算2的乘方 2.13 c系统 2.13.1 预处理器 2.13.2 标准函数库 2.14 总结 2.15 练习 第3章 基本数据类型 3.1 声明、表达式和赋值 3.2 基本数据类型 3.3 字符和char数据类型 3.4 int数据类型 3.5 整数类型short、long和unsigned 3.6 浮点类型 3.7 typedef的用法 3.8 sizeof操作符 3.9 使用getchar()和putchar() 3.10 数学函数 3.10.1 使用abs()和fabs() 3.10.2 unix和数学函数库 3.11 隐式类型转换和强制类型转换 3.11.1 整型提升 3.11.2 寻常算术转换 3.11.3 强制类型转换 3.12 十六进制和八进制常量 3.13 总结 3.14 练习 第4章 控制流 4.1 关系操作符、相等操作符和逻辑操作符 4.2 关系操作符和表达式 4.3 相等操作符和表达式 4.4 逻辑操作符和表达式 4.5 复合语句 4.6 表达式和空语句 4.7 if和if-else语句 4.8 while语句 4.9 for语句 4.10 例子:布尔变量 4.11 逗号操作符 4.12 do语句 4.13 例子:斐波那契数 4.14 goto语句 4.15 break和continue语句 4.16 switch语句 4.17 条件操作符 4.18 总结 4.19 练习 第5章 函数 5.1 函数定义 5.2 return语句 5.3 函数原型 5.4 例子:创建乘方表 5.5 从编译器的角度观察函数原型 5.6 函数定义顺序的另一种风格 5.7 函数调用和传值调用 5.8 开发大型程序 5.9 使用断言 5.10 作用域规则 5.10.1 平行和嵌套代码块 5.10.2 以调试为目的使用代码块 5.11 存储类型 5.11.1 auto存储类型 5.11.2 extern存储类型 5.11.3 register存储类型 5.11.4 static存储类型 5.12 静态外部变量 5.13 默认初始化 5.14 递归 5.15 例子:汉诺塔 5.16 总结 5.17 练习 第6章 数组、指针和字符串 6.1 一维数组 6.1.1 初始化 6.1.2 下标 6.2 指针 6.3 传引用调用 6.4 数组和指针之间的关系 6.5 指针运算和元素的大小 6.6 数组作为函数的实参 6.7 例子:冒泡排序 6.8 用calloc()和malloc()进行动态内存分配 6.9 例子:归并和归并排序 6.10 字符串 6.11 标准函数库中的字符串处理函数 6.12 多维数组 6.12.1 二维数组 6.12.2 存储映射函数 6.12.3 形式参数声明 6.12.4 三维数组 6.12.5 初始化 6.12.6 使用typedef 6.13 指针数组 6.14 main()函数的参数 6.15 不规则数组 6.16 函数作为参数 6.17 例子:使用二分法寻找函数的根 6.18 函数指针数组 6.19 类型限定符const和volatile 6.20 总结 6.21 练习 第7章 位操作符和枚举类型 7.1 位操作符和表达式 7.1.1 按位求反 7.1.2 补码 7.1.3 位逻辑操作符 7.1.4 左移位和右移位操作符 7.2 掩码 7.3 软件工具:打印int值的二进制形式 7.4 包装和解包 7.5 枚举类型 7.6 例子:“石头、剪刀、布”游戏 7.7 总结 7.8 练习 第8章 预处理器 8.1 #include的使用 8.2 使用#define 8.3 带参数的宏 8.4 stddef.h中的类型定义和宏 8.5 例子:用qsort()进行排序 8.6 例子:带参数的宏 8.7 stdio.h和ctype.h中的宏 8.8 条件编译 8.9 预定义的宏 8.10 “#”和“##”操作符 8.11 assert()宏 8.12 使用#error和#pragma 8.13 行号 8.14 对应的函数 8.15 例子:快速排序 8.16 总结 8.17 练习 第9章 结构和联合 9.1 结构 9.2 访问结构成员 9.3 操作符的优先级和结合性的总结 9.4 在函数中使用结构 9.5 结构的初始化 9.6 例子:玩扑克牌 9.7 联合 9.8 位字段 9.9 例子:访问位和字节 9.10 adt堆栈 9.11 总结 9.12 练习 第10章 结构和列表处理 10.1 自引用的结构 10.2 线性链表 10.3 链表操作 10.4 一些链表处理函数 10.4.1 插入 10.4.2 删除 10.5 堆栈 10.6 例子:波兰记法和堆栈求值 10.7 队列 10.8 二叉树 10.8.1 二叉树的遍历 10.8.2 创建树 10.9 普通的树 10.9.1 遍历 10.9.2 calloc()的用法以及树的创建 10.10 总结 10.11 练习 第11章 输入/输出和操作系统 11.1 输出函数printf() 11.2 输入函数scanf() 11.3 fprintf()、fscanf()、sprintf() 和sscanf()函数 11.4 fopen()和fclose()函数 11.5 例子:对文件进行空间加倍 11.6 使用临时文件和优雅函数 11.7 随机访问文件 11.8 文件描述符输入/输出 11.9 文件访问权限 11.10 在c程序内部执行命令 11.11 在c程序内部使用管道 11.12 环境变量 11.13 c编译器 11.14 使用性能评估程序 11.15 函数库 11.16 对c代码进行计时 11.17 使用make 11.18 使用touch 11.19 其他有用的工具 11.20 总结 11.21 练习 第12章 高级应用 12.1 用fork()创建并发进程 12.2 进程的叠加:exec...()函数族系 12.3 使用pipe()实现进程间的通信 12.4 信号 12.5 例子:哲学家用餐问题 12.6 矩阵的动态分配 12.6.1 为什么二维数组无法满足要求 12.6.2 用指针数组创建矩阵 12.6.3 调整下标范围 12.6.4 一次分配所有内存 12.7 返回状态 12.8 总结 12.9 练习 第13章 从c到c++ 13.1 输出 13.2 输入 13.3 函数 13.4 类和抽象数据类型 13.5 重载 13.6 构造函数和析构函数 13.7 <em>面向对象</em>编程和继承 13.8 多态 13.9 模板 13.10 c++的异常 13.11 <em>面向对象</em>编程的优点 13.12 总结 13.13 练习 第14章 从c到java 14.1 输出 14.2 变量和类型 14.3 类和抽象数据类型 14.4 重载 14.5 类的创建和销毁 14.6 <em>面向对象</em>编程和继承 14.7 多态和重写方法 14.8 applet 14.9 java的异常 14.10 java和oop的优势 14.11 总结 14.12 练习 附录a 标准函数库 附录b c的语法 附录c ansi c与传统c的比较 附录d ascii字符码 附录e 操作符的优先级和结合性
组合数学(原书第5版)Richard A. Brualdi著,冯速等译,高清扫描版
。。。。。。。组合数学(原书第5版)Richard A. Brualdi著,冯速等译,高清扫描版
数字信号处理(原书第2版中文版).Richard G Lyons著朱光明等译.带书签高清扫描收藏版
数字信号处理(原书第2版中文版).Richard G Lyons著朱光明等译.带书签高清扫描收藏版,学习数字信号处理的第一选择,非常值得<em>下载</em>收藏!
算法4 算法 第4版 (美)塞奇威克(sedgewick,r.);(美)韦恩(wayne,k.)(著) 谢路云(译)
高清300M,淘宝买的.有目录书签,完整版 算法4 算法 第4版 (美)塞奇威克(sedgewick,r.);(美)韦恩(wayne,k.)(著) 谢路云(译)
C++面向对象高效编程第2版 (中文版、带书签) 作者: (美)Kayshav Dattatri
本资源是以压缩包的形式的, 里面是一个 “TXT”的文档, 文档中 有“百度云” 分享的链接, 这本书太大,上传不上来,所以以这样的方式上传。永久有效,欢迎<em>下载</em>。 本书作者: (美)Kayshav Dattatri 出版社:人民邮电出版社 内容简介: 《C++<em>面向对象</em><em>高效编程</em>(第2版)》以帮助读者掌握C++<em>面向对象</em><em>高效编程</em>范式为目的,详细介绍了C++编程中的各种概念和应用技巧。全书共分为两部分,第一部分(第1章至第10章)介绍<em>面向对象</em>编程的基础和应用,如数据抽象、继承、泛型类型、异常处理等内容;第二部分(第11章至第13章)深入探讨如何建立抽象及其策略,并研究了C++对象模型。书中包含大量的代码实例,读者不仅能从理论上得以提高,而且还能轻松地在实践中应用。 《C++<em>面向对象</em><em>高效编程</em>(第2版)》适用于C++程序员,也可供对<em>面向对象</em>程序设计感兴趣的编程人员及大专院校计算机专业师生参考。 作译者 Kayshay Dattatri当前是CISCO公司的一名高级技术主管,在此之前,曾以项目负责人、技术主管的身份供职于网景公司(Netscape CommunicationS)和 Taligent公司,主要从事前沿Web技术、<em>面向对象</em>(OO)应用开发框架的研究。他还是<em>面向对象</em>设计和C++领域的独立顾问/培训师,而且在操作系统、OO架构、 OO语言(包托C++、Smalltalk、Eiffel和Modula—2)等领域有25年以上的从业经验。除此之外,他还是加州大学伯克利扩展(Berkeley Extension)项目的知名讲师,而且凭借其渊博的学识和在教学方面的天分备受欢迎。Kayshav早在1987年,就开始使用C++进行编程了。 部分章节目录: 《C++<em>面向对象</em><em>高效编程</em>(第2版)》 第一部分 概念、实践和应用 第1章 什么是<em>面向对象</em>编程 1 1.1 背景 1 1.1.1 面向过程编程示例 2 1.1.2 银行账户的表示 3 1.1.3 银行账户的安全 4 1.1.4 用<em>面向对象</em>编程解决问题 5 1.2 理解对象模型 7 1.3 术语 8 1.4 理解消息、方法和实例变量 8 1.4.1 对象中包含的内容 9 1.4.2 实例化(或创建)对象 11 1.5 什么可以作为类 11 1.6 什么不是类 12 1.7 类的目的 13 1.8 深入了解对象 15 1.8.1 对象的状态 15 1.8.2 对象状态的重要性 15 1.8.3 谁控制对象的状态 17 1.8.4 对象的行为 18 1.9 <em>面向对象</em>软件开发的阶段 18 1.9.1 <em>面向对象</em>分析(OOA) 18 1.9.2 <em>面向对象</em>设计(OOD) 20 1.10 <em>面向对象</em>编程(OOP) 21 1.11 对象模型的关键要素 21 1.12 OOP范式和语言 24 1.13 <em>面向对象</em>编程语言的要求 24 1.14 对象模型的优点 25 1.15 小结 26 第2章 什么是数据抽象 27 2.1 接口和实现的分离 30 2.2 对象接口的重要性 31 2.3 实现的含义 32 2.4 保护实现 32 2.5 数据封装的优点 34 2.6 接口、实现和数据封装之间的关系 35 2.7 数据封装注意事项 36 2.8 确定封装的内容 36 2.9 抽象数据类型 37 2.10 抽象数据类型——栈的实现 38 2.11 C++中的数据抽象 40 2.12 类中的访问区域 41 2.13 和类一起使用的术语 47 2.14 类的实现者 48 2.15 实现成员函数 49 2.16 识别成员函数的目标对象 49 2.17 程序示例 52 2.18 对象是重点 53 2.19 对接口的再认识 53 2.20 什么是多线程安全类 55 2.21 确保抽象的可靠性——类不变式和断言 57 2.21.1 类不变式 57 2.21.2 前置条件和后置条件 57 2.21.3 使用断言实现不变式和条件 59 2.21.4 高效使用断言 60 2.22 <em>面向对象</em>设计的表示法 60 2.23 Booch表示法 61 2.24 Booch中类的关系 61 2.24.1 关联 62 2.24.2 聚集(has-a) 62 2.24.3 “使用”关系 65 2.24.4 继承关系(is-a) 66 2.24.5 类范畴 66 2.25 统一建模语言(UML) 67 2.26 UML中类的关系 68 2.27 关联 69 2.27.1 作为聚集的关联 71 2.27.2 OR关联 72 2.28 组合 72 2.29 泛化关系(is-a) 74 2.30 has-a关系的重要性 75 2.31 小结 76 第3章 C++与数据抽象 77 3.1 类概念的基础 77 3.2 类要素的细节 78 3.2.1 访问区域 78 3.2.2 分析 79 3.3 复制构造函数 81 3.4 赋值操作符 89 3.5 this指针和名称重整的进一步说明 95 3.6 const成员函数的概念 98 3.7 编译器如何实现const成员函数 99 3.8 C++中类和结构的区别 100 3.9 类可以包含什么 100 3.10 设计期间的重点——类的接口 101 3.11 类名、成员函数名、参数类型和文档 102 3.12 参数传递模式——客户的角度 103 3.13 采用语义 106 3.14 为参数选择正确的模式 108 3.15 函数返回值 109 3.16 从函数中返回引用 111 3.17 编写内存安全类 112 3.18 客户对类和函数的责任 113 3.19 小结 114
C程序设计语言第2版(超清晰新版)+习题解答
The.C.Programming.Language.Second.Edition C程序设计语言第2版(PDF) + 习题解答(PDG) 作者:(美)克尼汉,(美)里奇 著,徐宝文,李志 译 出版社:机械工业出版社 出版日期:2004-01-01
[C大学教程(第五版)].(美)戴特尔.扫描版.pdf
中文名: C大学教程 (第五版) 高清PDF中文版 原名: C How to Program, 5th Edition 作者: (美)戴特尔 译者: 苏小红 图书分类: 软件 资源格式: PDF 版本: 扫描版 出版社: 电子工业出版社 书号: 9787121056628 发行时间: 2008年02月01日 地区: 大陆 语言: 简体中文 简介: 内容简介 本书是全球最畅销的C语言教程之一。本书系统地介绍了四种当今流行的程序设计方法——面向过程、基于对象、<em>面向对象</em>以及泛型编程,内容全面、生动、易懂,作者由浅入深地介绍结构化编程及软件工程的基本概念,从简单的概念到最终完整的语言描述,清晰、准确、透彻、详细地讲解C语言,尤其注重程序设计思想和方法的介绍。相对于以往的版本,在内容方面,本书新增加了介绍C99标准、排序、基于Allegro C函数库的游戏编程以及有关C++<em>面向对象</em>程序设计的章节,并且在附录中增加了Sudoku游戏程序设计的讲解。新加入的“活代码”方法(即通过可执行的代码来讲解理论概念的方法)是本书的另一特色,它可以促进学生积极地参与到程序设计中来。突出显示的各种程序设计提示,则是作者多年教学经验的总结。 本书不仅适合于初学者学习,作为高校计算机程序设计教学的教科书,也同样适用于有经验的程序员,作为软件开发人员的专业参考书。 编辑推荐 全面面权威地受用DEITEL活动代码方法介绍C语言,并且大量地介绍C++<em>面向对象</em>程序设计(OOP)!   C语言是全球最流行的程序设计语言之一。本版全球最畅销的C语言教程介绍了四种当流行的程序设计方法--面向过程、基于对象、<em>面向对象</em>以及泛型编程。   我从1975年开始讲授入门级程序设计课程,从1986年开始用c语言编程。最初,没有比较优秀的c语言教程。当 Deitel的《c大学教程(第一版)问世之后,人们争先购买这本书。显然,它是当时最优秀的c语言教程。这版新书仍然继承了遗一传统,是当今最优秀的面向学生的c语言程序设计教程。Deitel父子再次设定了优秀教材的标准!不但透彻、仔细地向学生讲解编程语言,而且更加注重思想、概念以及程序设计技术。新加八的“活代码”方法也是一大新增特色,促进学生积极地参与到程序设计中来。这是一本非常出色的教材!                                --Richard Albright,Goldey-Beacom学院 《c大学教程》(第五版)继保持了优秀的c语言教程这一传统。该书从简单的概念到最终完整的语言描述,清晰、准确地向初学者展示c语言。语言的讲解非常完整,使得这本书也同样适用于有经验的程序员,本书新增加了基于Allegro C函数库的游戏编程章节,也同样会吸引很多青少年程序设计人员。这是一本杰出的c程序员教程与参考书。 --Ray Seyfarth,Southern Mississippi大学 这是一本优秀的面向初学者的书籍。同样涵盖了适用于高级程序设计课程以及工作市场的内容。                                   --Fred J.Tydeman,Tydeman咨询公司,JLL(ANSI“C”)副总裁 在市场上众多c语言教程中,Deitel书籍最清晰、最深入地向学生讲授标准c程序设计的各项技能。使用Deitel撰写的c语言教程,学生可以获得大量的资源,帮助他们不但在学习上取得成功+而且在将来的工作中也取得成功。                                   --William Smith,Tulsa Community学院 这本书对于初学者--b经验丰富的程序员而言都非常有价值。作者解释概念,技术以及实践的方法非常全面、生.易懂。这是一本学习c语言的必备书籍。                                   --Bin Wright State大学计算机接掌与工程系   本书新增加了介绍C99标准、排序以及基于Allegro C函数库的游戏编程的章节,并且在附录中增加了Sudoku游戏程序设计讲解。还基于《C++大学教程》(第五版),增加了C++<em>面向对象</em>程序设计的内容。 目录: 第1章 计算机、Internet和万维网导论 第2章 C语言程序设计入门 第3章 结构化的C程序设计 第4章 C程序控制 第5章 C函数 第6章 C数组 第7章 C指针 第8章 C字符和字符串 第9章 格式化输入输出 第10章 结构体、共用体、位操作和枚举类型 第11章 文字处理 第12章 数据结构 第13章 C预处理 第14章 C语言的其他专题 第15章 基于Allegro C函数库的游戏编程 第16章 排序:更深入的透视 第17章 C99简介 第18章 C++,一个更好的C;介绍对象技术 第19章 类与对象简介 第20章 类;深入剖析(第1部分) 第21章 类;深入剖析(第2部分) 第22章 运算符重载 第23章 <em>面向对象</em>编辑:继承 第24章 <em>面向对象</em>编程:多态 第25章 模板 第26章 输入/输出 第27章 异常处理 附录A 因特网和Web资源、 附录B 运算符优先级表、 附录C ASCLL字符集 附录D 数制系统 附录E 游戏编程:求解Sudoku问题 索引
《精通jQuery(第2版)》.([美]Adam Freeman 著).[PDF]@ckook.pdf
jQuery领域标杆之作,以实例驱动,系统全面讲解jQuery、jQuery UI以及jQuery Mobile 作为一款优秀的JavaScript框架,jQuery具有表达能力强、支持一次处理多个元素、能解决不同浏览器的兼容性问题等诸多优点,从而受到广大Web开发人员的追捧。本书是一本全面的jQuery手册,详尽介绍了jQuery库、jQuery UI和jQuery Mobile,能帮助具备一定Web开发基础知识的读者精通jQuery。 本书主要内容 HTML、CSS和JavaScript基础知识的简单介绍。 jQuery库的使用、元素选择、DOM操作、事件和特效。 如何在开发中用jQuery操作本地和远程数据。 如何应用jQuery UI创建多姿多彩的交互界面。 如何利用jQuery Mobile的组件以及特性开发触摸设备的应用程序。 jQuery和jQuery UI中一些不常用但能在复杂项目中发挥很好作用的高级功能。 Adam Freeman 资深IT专家,曾在多家公司担任高级职位,退休前在一家国际银行担任CTO和COO。如今的他热爱写作和跑步。除本书外,还著有《HTML5权威指南》《精通ASP.NET 4.5(第5版)》等书。
操作系统精髓与设计原理(第6版)_(美)William Stallings_陈向群&陈渝(译)
操作系统精髓与设计原理(第6版)_(美)William Stallings_陈向群&陈渝(译),经典必读,高清版,包含目录。enjoy.
离散数学及其应用 原书第7版 ,(美)KENNETH H.ROSEN著 ,P793.pdf
之所以用.tar.gz是因为压缩高的缘故,另外 不明白的解压方式的请自行百度".tar.gz怎么解压" 以前上传资源都是可以设置免费的,现在这个没办法, 我们倒是无所谓, 只是苦了没分的新人
《信息安全原理》美Michael E.Whitman,Herbert J.Mattord著,王晓海译
综述 本书全面介绍了信息安全的整个领域,其中包括许多相关元素的背景,以及理解该领域所需的足够细节。本书包含了该学科的术语、简史,并概述了信息安全计划的管理模式。 本书的结构遵循一种称为安全系统软件开发生命周期(或SecSDLC)的模式。 第一章、信息安全简介 发展史……安全的概念…..CNSS安全模型…. 信息系统(IS)比计算机硬件更丰富,它是使企业能够使用信息的人员、过程和技术的完整...
电路 第10版(美)JAMES W.NILSSON,SUSAN A.RIEDEL著;周玉坤,冼立勤,李莉,宿淑春译,带书签,ORC已识别。part-3
学习电路课程的精品教材。此文件为3个压缩包之一,请<em>下载</em>其它两个,并在同一目录下解压。
(英版)人工智能 (第2版)[美] 史蒂芬·卢奇(Stephen Lucci) / [美]丹尼·科佩克(Danny Kopec)
英文原版,人工智能 (第2版)[美] 史蒂芬·卢奇(Stephen Lucci) / [美]丹尼·科佩克(Danny Kopec)
JavaScript框架设计 司徒正美 高清完整版带目录.pdf
JavaScript框架设计 司徒正美 高清完整版带目录.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除! 《JavaScript框架设计》是一本全面讲解JavaScript框架设计的图书,详细地讲解了设计框架需要具备的知识,主要包括的内容为:框架与库、JavaScript框架分类、JavaScript框架的主要功能、种子模块、模块加载系统、语言模块、浏览器嗅探与特征侦测、样式的支持侦测、类工厂、JavaScript对类的支撑、选择器引擎、浏览器内置的寻找元素的方法、节点模块、一些有趣的元素节点、数据缓存系统、样式模块、个别样式的特殊处理、属性模块、jQuery的属性系统、事件系统、异步处理、JavaScript异步处理的前景、数据交互模块、一个完整的Ajax实现、动画引擎、API的设计、插件化、当前主流MVVM框架介绍、监控数组与子模板等。
《编译原理(第2版)》 pdf
本书全面、深入地探讨了编译器设计方面的重要主题,包括词法分析、语法分析、语法制导定义和语法制导翻译、运行时刻环境、目标代码生成、代码优化技术、并行性检测以及过程间分析技术,并在相关章节中给出大量的实例。与上一版相比,本书进行了全面修订,涵盖了编译器开发方面*进展。每章中都提供了大量的实例及参考文献。   本书是编译原理课程方面的经典教材,内容丰富,适合作为高等院校计算机及相关专业本科生及研究生的编译原理课程的教材,也是广大技术人员的极佳参考读物。
《神经网络与深度学习(美)Michael+Nielsen+著》中文版PDF+英文版PDF+源代码
《神经网络与深度学习(美)Michael+Nielsen+著》中文版PDF+英文版PDF+源代码
《机器人学导论(原书第3版)》 John J.Craig 机器人学基础经典书
《机器人学导论》是2006年由机械工业出版社出版的图书,作者是(美)John J. Craig等,贠超等译。本书系统讲解了机器人学的理论知识,主要内容包括:机器人操作臂的几何性质、引起操作臂运动的力和力矩、与操作臂机械设计有关的问题和控制方法、机器人编程方法等。
信号与系统第2版中文版(alanv oppenheim &alan s willsky)
signals and system的中文版电子书,由刘树棠翻译的。文件还包含了所有章节的课后习题答案
Python基础教程(第3版) 袁国忠 (译) 非扫描版 中文 高清带书签
针对Python 3全新升级 本书包括Python程序设计的方方面面:首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句;然后循序渐进地介绍了一些相对高级的主题,包括抽象、异常、魔法方法、属性、迭代器;此后探讨了如何将Python与数据库、网络、C语言等工具结合使用,从而发挥出Python的强大功能,同时介绍了Python程序测试、打包、发布等知识;最后,作者结合前面讲述的内容,按照实际项目开发的步骤向读者介绍了10个具有实际意义的Python项目的开发过程。
电子学(第二版 吴利民译)哈佛教材910页完整版
哈佛的电子与通信教材,ART of Electronics。内容包揽了电路基础,模数电,微机原理。一日EE终生EE!
MySQL核心技术手册(第二版).pdf
MySQL核心技术手册(第二版).pdf MySQL核心技术手册(第二版).pdf
C++面向对象程序设计(第二版)-谭浩强-课件
谭浩强主编《C++<em>面向对象</em>程序设计》(第二版)的PPT课件,部分章节设有宽屏模式。
《现代操作系统(第3版)》(Andrew S·Tanenbaum[美] 著,陈向群、马洪兵 译)
本书是操作系统领域的经典之作,与第2版相比,增加了关于Linux、Windows Vista和Symbian操作系统的详细介绍。书中集中讨论了操作系统的基本原理,包括进程、线程、存储管理、文件系统、输入/输出、死锁等,同时还包含了有关计算机安全、多媒体操作系统、掌上计算机操作系统、微内核、多核处理机上的虚拟机以及操作系统设计等方面的内容。此外,还在第2版的基础上对部分习题进行了增删,更有助于读者学习和对知识的理解及掌握。本书适合作为高等院校计算机专业操作系统课程教材,也是设计、开发操作系统的重要参考书。Tanenbaum教授作为三个操作系统的设计师或联合设计师,具有长期设计开发操作系统的经验,从而把其对理论的深入理解和具体实践融入书中,使本书成为操作系统领域的经典之作。在本书第3版中,作者深入讨论了许多主题,包括:进程、线程、存储管理、文件系统、I/O、死锁、接口设计、多媒体、性能权衡,以及有关操作系统设计的最新趋势。书中不仅涵盖了现代操作系统的原理和实践,而且特别关注了Linux操作系统、Windows Vista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。 目录: 出版者的话 译者充 前言 第1章 引论 1.1 什么是操作系统 1.1.1 作为扩展机器的操作系统 1.1.2 作为资源管理者的操作系统 1.2 操作系统的历史 1.2.1 第一代(1945~1955):真空管和穿孔卡片 1.2.2 第二代(1955~1965):晶体管和批处理系统 1.2.3 第三代(1965~1980):集成电路芯片和多道程序设计 l.2.4第四代(1980年至今):个人 计算机 1.3 计算机硬件介绍 1.3.1 处理器 1.3.2 存储器 1.3.3 磁盘 1.3.4 磁带 1.3.5 I/O设备 1.3.6 总线 1.3.7 启动计算机 1.4 操作系统大观园 1.4.1 大型机操作系统 1.4.2 服务器操作系统 1.4.3 多处理器操作系统 1.4.4 个人计算机操作系统 1.4.5 掌上计算机操作系统 1.4.6 嵌入式操作系统 1.4.7 传感器节点操作系统 1.4.8 实时操作系统 1.4.9 智能卡操作系统 1.5 操作系统概念 1.5.1 进程 1.5.2 地址空间 1.5.3 文件 1.5.4 输入/输出 1.5.5 保护 1.5.6 shell 1.5.7 个体重复系统发育 1.6 系统调用 1.6.1 用于进程管理的系统调用 1.6.2 用于文件管理的系统调用 1.6.3 用于目录管理的系统调用 1.6.4 各种系统调用 1.6.5 WindowsWin32API 1.7 操作系统结构 1.7.1 单体系统 1.7.2 层次式系统 1.7.3 微内核 1.7.4 客户机-服务器模式 1.7.5 虚拟机 1.7.6 外核 1.8 依靠C的世界 1.8.1 C语言 1.8.2 头文件 1.8.3 大型编程项目 1.8.4 运行模型 1.9 有关操作系统的研究 1.10 本书其他部分概要 1.11 公制单位 1.12 小结 习题 第2章 进程与线程 2.1 进程 2.1.1 进程模型 2.1.2 创建进程 2.1.3 进程的终止 2.1.4 进程的层次结构 2.1.5 进程的状态 2.1.6 进程的实现 2.1.7 多道程序设计模型 2.2 线程 2.2.1 线程的使用 2.2.2 经典的线程模型 2.2.3 POSIX线程 2.2.4 在用户空间中实现线程 2.2.5 在内核中实现线程 2.2.6 混合实现 2.2.7 调度程序激活机制 2.2.8 弹出式线程 2.2.9 使单线程代码多线程化 2.3 进程间通信 2.3.1 竞争条件 2.3.2 临界区 2.3.3 忙等待的互斥 2.3.4 睡眠与唤醒 2.3.5 信号量 2.3.6 互斥量 2.3.7 管程 2.3.8 消息传递 2.3.9 屏障 2.4 调度 2.4.1 调度介绍 2.4.2 批处理系统中的调度 2.4.3 交互式系统中的调度 2.4.4 实时系统中的调度 2.4.5 策略和机制 2.4.6 线程调度 2.5 经典的IPC问题 2.5.1 哲学家就餐问题 2.5.2 读者一写者问题 2.6 有关进程和线程的研究 2.7 小结 习题 第3章 存储管理 3.1 无存储器抽象 3.2 一种存储器抽象:地址空间 3.2.1 地址空间的概念 3.2.2 交换技术 3.2.3 空闲内存管理 3.3 虚拟内存 3.3.1 分页 3.3.2 页表 3.3.3 加速分页过程 3.3.4 针对大内存的页表 3.4 页面置换算法 3.4.1 最优页面置换算法 3.4.2 最近未使用页面置换算法 3.4.3 先进先出页面置换算法 3.4.4 第二次机会页面置换算法 3.4.5 时钟页面置换算法 3.4.6 最近最少使用页面置换算法 3.4.7 用软件模拟LRU 3.4.8 工作集页面置换算法 3.4.9 工作集时钟页面置换算法 3.4.10 页面置换算法小结 3.5 分页系统中的设计问题 3.5.1 局部分配策略与全局分配策略 3.5.2 负载控制 3.5.3 页面大小 3.5.4 分离的指令空间和数据空间 3.5.5 共享页面 3.5.6 共享库 3.5.7 内存映射文件 3.5.8 清除策略 3.5.9 虚拟内存接口 3.6 有关实现的问题._ 3.6.1 与分页有关的工作 3.6.2 缺页中断处理 3.6.3 指令备份__ 3.6.4 锁定内存中的页面 3.6.5 后备存储 3.6.6 策略和机制的分离 3.7 分段 3.7.1 纯分段的实现 3.7.2 分段和分页结合:MULTICS 3.7.3 分段和分页结合:Intel Pentium 3.8 有关存储管理的研究 3.9 小结 习题 第4章 文件系统 4.1 文件 4.1.1 文件命名 4.1.2 文件结构 4.1.3 文件类型 4.1.4 文件存取 4.1.5 文件属性 4.1.6 文件操作 4.1.7 使用文件系统调用的一个示例程序 4.2 目录 4.2.1 一级目录系统 4.2.2 层次目录系统 4.2.3 路径名 4.2.4 目录操作 4.3 文件系统的实现 4.3.1 文件系统布局 4.3.2 文件的实现 4.3.3 目录的实现 4.3.4 共享文件 4.3.5 日志结构文件系统 4.3.6 日志文件系统 4.3.7 虚拟文件系统 4.4 文件系统管理和优化 4.4.1 磁盘空间管理 4.4.2 文件系统备份 4.4.3 文件系统的一致性 4.4.4 文件系统性能 4.4.5 磁盘碎片整理 4.5 文件系统实例 4.5.1 CD-ROM文件系统 4.5.2 MS-DOS文件系统 4.5.3 UNIXV7文件系统 4.6 有关文件系统的研究 4.7 小结 习题 第5章 输入/输出 5.1 I/O硬件原理 5.1.1 I/O设备 5.1.2 设备控制器 5.1.3 内存映射I/O 5.1.4 直接存储器存取 5.1.5 重温中断 5.2 I/O软件原理 5.2.1 I/O软件的目标 5.2.2 程序控制I/O 5.2.3 中断驱动I/O 5.2.4 使用DMA的I/O 5.3 I/O软件层次 5.3.1 中断处理程序 5.3.2 设备驱动程序 5.3.3 与设备无关的I/O软件 5.3.4 用户空间的I/O软件 5.4 盘 5.4.1 盘的硬件 5.4.2 磁盘格式化 5.4.3 磁盘臂调度算法 5.4.4 错误处理 5.4.5 稳定存储器 5.5 时钟 5.5.1 时钟硬件 5.5.2 时钟软件 5.5.3 软定时器 5.6 用户界面:键盘、鼠标和监视器 5.6.1 输入软件 5.6.2 输出软件 5.7 瘦客户机 5.8 电源管理 5.8.1 硬件问题 5.8.2 操作系统问题 5.8.3 应用程序问题 5.9 有关输入/输出的研究 5.10 小结 习题 第6章 死锁 6.1 资源 6.1.1 可抢占资源和不可抢占资源 6.1.2 资源获取 6.2 死锁概述 6.2.1 资源死锁的条件 6.2.2 死锁建模 6.3 鸵鸟算法 6.4 死锁检测和死锁恢复 6.4.1 每种类型一个资源的死锁检测 6.4.2 每种类型多个资源的死锁检测 6.4.3 从死锁中恢复 6.5 死锁避免 6.5.1 资源轨迹图 6.5.2 安全状态和不安全状态 6.5.3 单个资源的银行家算法 6.5.4 多个资源的银行家算法 6.6 死锁预防 6.6.1 破坏互斥条件 6.6.2 破坏占有和等待条件 6.6.3 破坏不可抢占条件 6.6.4 破坏环路等待条件 6.7 其他问题 6.7.1 两阶段加锁 6.7.2 通信死锁 6.7.3 活锁 6.7 -4饥饿 6.8.有关死锁的研究 6.9 小结 习题 第7章 多媒体操作系统 7.1 多媒体简介 7.2 多媒体文件 7.2.1 视频编码 7.2.2 音频编码 7.3 视频压缩 7.3.1 JPEG标准 7.3.2 MPEG标准 7.4 音频压缩 7.5 多媒体进程调度 7.5.1 调度同质进程 7.5.2 一般实时调度 7.5.3 速率单调调度 7.5.4 最早最终时限优先调度 7.6 多媒体文件系统范型 7.6.1 VCR控制功能 7.6.2 近似视频点播 7.6.3 具有VCR功能的近似视频点播 7.7 文件存放 7.7.1 在单个磁盘上存放文件 7.7.2 两个替代的文件组织策略 7.7.3 近似视频点播的文件存放 7.7.4 在单个磁盘上存放多个文件 7.7.5 在多个磁盘上存放文件 7.8 高速缓存 7.8.1 块高速缓存 7.8.2 文件高速缓存 7.9 多媒体磁盘调度 7.9.1 静态磁盘调度 7.9.2 动态磁盘调度 7.10 有关多媒体的研究 7.11 小结 习题 第8章 多处理机系统 8.1 多处理机 8.1.1 多处理机硬件 8.1.2 多处理机操作系统类型 8.1.3 多处理机同步 8.1.4 多处理机调度 8.2 多计算机 8.2.1 多计算机硬件 8.2.2 低层通信软件 8.2.3 用户层通信软件 8.2.4 远程过程调用 8.2.5 分布式共享存储器 8.2.6 多计算机调度 8.2.7 负载平衡 8.3 虚拟化 8.3.1 虚拟化的条件 8.3.2 Ⅰ型管理程序 8.3.3 Ⅱ型管理程序 8.3.4 准虚拟化 8.3.5 内存的虚拟化 8.3.6 I/0设备的虚拟化 8.3.7 虚拟工具 8.3.8 多核处理机上的虚拟机 8.3.9 授权问题 8.4 分布式系统 8.4.1 网络硬件 8.4.2 网络服务和协议 8.4.3 基于文档的中间件 8.4.4 基于文件系统的中间件 8.4.5 基于对象的中间件 8.4.6 基于协作的中间件 8.4.7 网格 8.5 有关多处理机系统的研究 8.6 小结 习题 第9章 安全 第10章 实例研究1:Linux 第11章 实例研究2:Windows Visa 第12章 实例研究3:Symbian操作系统 第13章 操作系统设计 第14章 阅读材料及参考文献 ——《豆瓣读书》
对话《JavaScript高级程序设计》作者 Nicholas C. Zakas(中文版)
4收藏 注:以下根据Nicholas C. Zakas回复图灵社区访谈邮件的原文翻译。 转自: http://www.ituring.com.cn/article/1791 很高兴收到你的邮件,而且听说我的书那么受欢迎也很开心。以下是对问题的回答。 Q1:对各种JavaScript库的优点和缺点一直存在很多争论。在您看来,开发人员应该怎么选择
统计学(第二版)高清版 David Freedman 魏宗舒 pdf
统计学(第二版)高清版 David Freedman 魏宗舒 + statistics by freedman (4th version) full pdf
面向对象软件工程 (美国)(StephenR.schach)沙赫查 机械工业出版社
《<em>面向对象</em>软件工程》一书是由美国作者StephenR.schach(沙赫查)撰写的著作,由机械工业出版社于2009年出版发行。
计算机网络第五版电子书+答案(中英文)
计算机网络(第5版) [美] 特南鲍姆,[美] 韦瑟罗尔 著,严伟,潘爱民 译 ,清华大学出版社 英文版教材为国外原版电子书,非国内英文版。 有对应中英文答案 。我上传过一份同名的文件,很抱歉其中英文版pdf有些小问题,因此更新一下
软件测试 (美)佩腾(Patton)
包含两版书,初学者适看的跟原书第二版 是一本软件测试的入门书,内容全面实用,讲述浅显易懂,既可作为高等院校软件测试课程的教材,也可作为软件测试爱好者的自学用书。
《人工智能:复杂问题求解的结构和策略(原书第6版)》[美]卢格尔 .pdf
这是一本经典的人工智能教材,全面阐述了人工智能的基础理论,有效结合了求解智能问题的数据结构以及实现的算法,把人工智能的应用程序应用千实际环境中,并从社会和哲学、心理学以及神经生理学角度对人工智能进行了独特的讨论。新版中增加了对“基千随机方法的机器学习"的介绍,并提出了一些新的主题,如涌现计笃、本体论、随机分割笃法等。《人工智能复杂问题求解的结构和策略(原书第6 版)》适合作为高等院校计算机专业人工智能教材,也可供人工智能领域的研究者及相关工程技术人员参考。
数字图像处理的MATLAB实现 -第2版-冈萨雷斯-高清扫描版-带完整书签
数字图像处理的MATLAB实现 -第2版-冈萨雷斯-高清扫描版-带完整书签
软件测试(美)Paul C.Jorgensen 中文版.pdf
软件测试(美)Paul C.Jorgensen 中文版.pdf 经典教材啊!
Photoshop cs2教程{exe格式}下载
Photoshop cs2教程{exe格式} 相关下载链接:[url=//download.csdn.net/download/daofeng2009_love/2059599?utm_source=bbsseo]//download.csdn.net/download/daofeng2009_love/2059599?utm_source=bbsseo[/url]
Visual C++数字图像处理典型实现下载
这是Visual C++数字图像处理典型实现这本书配套的光盘,程序都试验过没问题,希望能对大家有所帮助。 相关下载链接:[url=//download.csdn.net/download/mercurybit/2301079?utm_source=bbsseo]//download.csdn.net/download/mercurybit/2301079?utm_source=bbsseo[/url]
spring入门笔记下载
最近开始学习Spring了。还处于入门阶段,对前面一些入门的知识点总结下,希望大家指正 相关下载链接:[url=//download.csdn.net/download/wangfulong5257/2301711?utm_source=bbsseo]//download.csdn.net/download/wangfulong5257/2301711?utm_source=bbsseo[/url]
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 python基础教程:第2版 python基础教程第2版
我们是很有底线的