内容推荐 作为一门广为人知的编程语言,C++已经诞生30多年了,这期间也出现并流行过许多种编程语言,但是C++绝对是经得起考验的。如此经典的编程语言,值得每一位编程领域的新人认真学习,也适合有经验的程序员细细品味。 理查德·格里姆斯著的《C++编程自学宝典》旨在通过全面细致的内容和代码示例,带领读者更加全方位地认识C++语言。全书分为10章,由浅入深地介绍了C++的各项特性,包括C++语法、数据类型、指针、函数、类、面向对象特性、标准库容器、字符串、诊断和调试等。本书涵盖了C++11规范及相关的C++11标准库,是全面学习C++编程的合适之选。 本书适合C++零基础读者,但是希望读者有一些编程经验。通过书中丰富、典型的代码示例,读者将快速把握C++的特性和编程技巧。 作者简介 理查德·格里姆斯 Richard Grimes有25年C++编程经验,曾经致力于汽车制造业远程设备的金融分析和科学控制等多个项目。他曾经在70多场微软技术(其中包含C++和C#)的国际会议上发布重要讲话,共编写了8本书,在编程期刊上发表了150多篇文章,主讲了5期Microsoft培训课程。Richard曾经连续10年(1998-2007)获得微软MVP认证。他对微软.net框架和C++的深刻理解,以及他对新技术的坦率评估在业内享有盛誉。 目录 第1章 初识C++ 1.1 本章的主要内容 1.2 C++是什么 1.3 安装Visual C++ 1.3.1 安装配置 1.3.2 下载安装文件 1.3.3 安装Visual Studio 1.3.4 注册Microsoft账号 1.4 C++项目结构简介 1.4.1 编译器 1.4.2 链接代码 1.4.3 源文件 1.4.4 预处理器和标识符 1.4.5 依赖项 1.5 编写一个简单的项目程序 1.5.1 项目结构 1.5.2 创建预编译头文件 1.5.3 创建主文件 1.5.4 输入和输出流 1.5.5 time函数 1.5.6 构建可执行文件 1.5.7 测试代码 1.5.8 修改项目 1.6 小结 第2章 语言特性简介 2.1 编写C++代码 2.1.1 空格 2.1.2 格式化代码 2.1.3 编写语句 2.1.4 类型和变量 2.1.5 常量和文字 2.1.6 命名空间 2.1.7 C++的变量作用域 2.2 运算符 2.3 执行流控制 2.3.1 条件语句 2.3.2 选择 2.3.3 循环 2.3.4 跳转 2.4 C++语言特性应用 2.5 小结 第3章 C++类型探秘 3.1 内置类型 3.1.1 整数类型 3.1.2 浮点类型 3.1.3 字符和字符串 3.1.4 布尔类型 3.1.5 void 3.1.6 初始化器 3.1.7 默认值 3.1.8 无类型的变量声明 3.1.9 存储类 3.1.10 类型别名 3.1.11 记录类型中的聚合数据 3.1.12 访问运行时类型信息 3.1.13 类型取值范围 3.2 类型之间的转换 3.2.1 类型转换 3.2.2 转型 3.3 C++类型应用 3.4 小结 第4章 内存、数组和指针 4.1 C++中的使用内存 4.1.1 C++指针语法 4.1.2 空指针 4.1.3 内存类型 4.1.4 指针算术 4.2 数组 4.2.1 函数参数 4.2.2 多维数组 4.2.3 将多维数组传递给函数\t 4.2.4 字符数组 4.3 在C++中使用指针 4.3.1 访问越界 4.3.2 指针内存释放 4.3.3 指针转型 4.4 在代码中分配内存 4.4.1 分配单个对象 4.4.2 分配对象数组 4.4.3 处理内存分配异常 4.4.4 new运算符的其他版本 4.4.5 内存的生命周期 4.4.6 Windows SDK和指针 4.5 内存与C++标准库 4.6 引用 4.6.1 常量引用 4.6.2 返回引用 4.6.3 临时引用 4.6.4 右值引用 4.6.5 for循环区间和引用 4.7 指针实战 4.7.1 创建项目 4.7.2 将task对象添加到列表 4.7.3 删除任务列表 4.7.4 遍历任务列表 4.7.5 插入元素 4.8 小结 第5章 函数 5.1 定义C++函数 5.1.1 声明和定义函数 5.1.2 声明链接 5.1.3 内联化 5.1.4 确定返回类型 5.1.5 函数命名 5.1.6 函数参数 5.1.7 声明异常 5.1.8 函数体 5.2 函数参数 5.2.1 传递初始化器列表 5.2.2 默认参数 5.2.3 可变参数 5.3 函数特性 5.3.1 堆栈调用 5.3.2 声明调用规范 5.3.3 递归 5.3.4 函数重载 5.3.5 函数和作用域 5.3.6 删除函数 5.3.7 值传递和引用传递 5.4 函数设计 5.4.1 前置条件和后置条件 5.4.2 不变量 5.5 函数指针 5.5.1 留意括号 5.5.2 声明函数指针 5.5.3 函数指针用法 5.6 模板函数 5.6.1 定义模板 5.6.2 模板参数值 5.6.3 专一化模板 5.6.4 可变参数模板 5.7 运算符重载 5.7.1 函数对象 5.7.2 lambda表达式简介 5.8 函数在C++中的应用 5.9 小结 第6章 类 6.1 编写类 6.1.1 重新审视结构体 6.1.2 定义类 6.1.3 定义类的行为 6.1.4 创建对象 6.1.5 声明静态成员 6.1.6 嵌套类 6.1.7 访问常量对象 6.2 对象和指针 6.2.1 指向对象成员的指针 6.2.2 运算符重载 6.2.3 定义函数类 6.2.4 定义转换运算符 6.2.5 资源管理 6.2.6 编写包装器类 6.2.7 智能指针 6.3 模板 6.4 类的应用 6.5 小结 第7章 面向对象编程简介 7.1 继承和组合 7.1.1 从一个类继承 7.1.2 方法重载和名称隐藏 7.1.3 指针和引用 7.1.4 访问层级 7.1.5 继承访问层级 7.1.6 多继承 7.2 多态简介 7.2.1 虚方法 7.2.2 虚方法表 7.2.3 多继承和虚方法表 7.2.4 虚方法、构造函数和析构函数 7.2.5 容器和虚方法 7.2.6 友元和继承 7.2.7 重载和关键字final 7.2.8 虚拟继承 7.2.9 抽象类 7.2.10 获取类型信息 7.2.11 智能指针和虚方法 7.2.12 接口 7.2.13 类之间的关系 7.2.14 mixin类 7.3 多态应用 7.4 导语 经过了许多年的发展,C++已经应用于多个领域,其主要优势在于软件基础架构和资源受限型的应用程序方面,其中包括桌面应用程序、服务器、性能关键型应用程序,在游戏开发领域更是游刃有余。 理查德·格里姆斯著的《C++编程自学宝典》的主要任务是让读者了解和熟悉C++语言。读完本书后,读者不仅可以编写自己的代码,还可以阅读其他项目代码。 阅读本书时的第一个任务就是熟悉C++项目的结构,以便读者了解如何开始阅读一个项目的代码。接下来,读者将能够识别语言中函数和类的主要结构,并且可以通过代码确定程序的执行流程。然后读者将了解标准库的功能,并能够确定是否需要自己编写例程,或者使用标准库中的现有例程。 纵观全书,其重点内容是内存和指针。读者将了解如何分配和访问内存,并能够编写不泄漏内存的代码。最后,读者将学习C++类,并对面向对象编程和多态技术有一个初步了解。 |