本书揭示了C++程序员创建世界级软件的奥秘。程序设计大师Herbert Schildt通过将C++语言广泛应用于功能强大的编程任务中,全面展示了C++语言的多功能性,敏捷性,和艺术性。本书内容包括探索C++的功能,创建内存管理的垃圾回收器子系统,开发线程控制面板,建立译码器以扩展C++的功能,开发可断点续传的Internet文件下载工具,创建财务分析库,用基于AI的搜索技术探索人工智能,建立定制的STL容器,以及开发Mini C++解释程序。书中所有示例和项目的源代码都可以从www.osborne.com 上免费下载。\r\n
第1章 C++的功能\r\n 1.1 简洁而丰富的语法\r\n 1.2 功能强大的库\r\n 1.3 STL\r\n 1.4 程序员控制一切\r\n 1.5 细节控制\r\n 1.6 运算符重载\r\n 1.7 一种简洁精练的对象模型\r\n 1.8 C++发展史\r\n第2章 简单的C++垃圾回收器\r\n 2.1 两种内存管理方法的比较\r\n 2.1.1 手工内存管理的优缺点\r\n 2.1.2 垃圾回收的优缺点\r\n 2.1.3 两种方法都可以使用\r\n 2.2 在C++中创建垃圾回收器\r\n 2.3 选择垃圾回收的算法\r\n 2.3.1 引用计数\r\n 2.3.2 标记并清除\r\n 2.3.3 复制\r\n 2.3.4 采用哪种算法\r\n 2.3.5 实现垃圾回收器\r\n 2.3.6 是否使用多线程\r\n 2.3.7 何时回收垃圾\r\n 2.3.8 关于auto_ptr\r\n 2.4 一个简单的C++垃圾回收器\r\n 2.5 详细讨论GCPtr\r\n 2.5.1 GCPtr的数据成员\r\n 2.5.2 函数findPtrInfo()\r\n 2.5.3 GCIterator typedef\r\n 2.5.4 GCPtr的构造函数\r\n 2.5.5 GCPtr的析构函数\r\n 2.5.6 回收垃圾函数collect()\r\n 2.5.7 重载赋值运算符28\r\n 2.5.8 GCPtr的复制构造函数\r\n 2.5.9 指针运算符和转换函数\r\n 2.5.10 begin()和end()函数\r\n 2.5.11 shutdown()函数\r\n 2.5.12 两个实用函数\r\n 2.6 GCInfo\r\n 2.7 Iter\r\n 2.8 如何使用GCPtr\r\n 2.8.1 处理分配异常\r\n 2.8.2 一个更有趣的示例\r\n 2.8.3 对象的分配和丢弃\r\n 2.8.4 分配数组\r\n 2.8.5 使用具有类类型的GCPtr\r\n 2.8.6 一个比较大的演示程序\r\n 2.8.7 加载测试\r\n 2.8.8 一些限制\r\n 2.9 试着完成下面的任务\r\n第3章 C++中的多线程\r\n 3.1 什么是多线程\r\n 3.2 为什么C++没有内建支持多线程\r\n 3.3 选用什么样的操作系统和编译器\r\n 3.4 Windows线程函数概述\r\n 3.4.1 线程的创建和终止\r\n 3.4.2 Visual C++对CreateThread()和ExitThread()的替换\r\n 3.4.3 线程的挂起和恢复\r\n 3.4.4 改变线程的优先级\r\n 3.4.5 获取主线程的句柄\r\n 3.4.6 同步\r\n 3.5 创建线程控制面板\r\n 3.5.1 线程控制面板\r\n 3.5.2 线程控制面板的详细分析\r\n 3.5.3 控制面板的演示\r\n 3.6 一个多线程的垃圾回收器\r\n 3.6.1 附加的成员变量\r\n 3.6.2 多线程的GCPtr构造函数\r\n 3.6.3 TimeOutExc异常\r\n 3.6.4 多线程的GCPtr析构函数\r\n 3.6.5 gc()函数\r\n 3.6.6 isRunning()函数\r\n 3.6.7 gclist的同步访问\r\n ……\r\n第4章 C++的扩展\r\n第5章 Internet文件下载工具\r\n第6章 使用C++的财务计算\r\n第7章 基于AI的问题求解\r\n第8章 定制STL容器\r\n第9章 Mini C++解释程序\r\n
无封面