实用C++程序设计(第二版)

实用C++程序设计(第二版)
作 者: Steve Oualline 鄢爱兰 周丽琴 鄢爱兰
出版社: 中国电力出版社
丛编项: O’Reilly C/C++系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: C++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  SteveOualline的文笔流畅、语言朴素、写作风格独具魅力,加之他的实际动手的方法,使得本书成为掌握C++这一复杂而强大的编程语言的一条轻松的途径。

内容简介

本书面向那些以前没有编程经验的人、了解C并想更新到C++的程序员,以及那些了解C++并想改善编程风格和可靠性的人。你应该有一台计算机,并知道如何使用像文本编辑器和文件系统这样的基本功能。学习计算机语言最好的途径是编写和调试程序。凌晨两点还在琢磨一个有故障的程序,只是为了找出你在应该键入==的地方键入了=,这是一种非常有效的教学手段。本书包含许多有关常见编程错误的例子(它们在书中被标记为有故障的程序)。C++是一门功能强大、高度灵活且可适应的编程语言,软件工程师可以使用它来快速有效地组织和处理信息。但是这一高级语言相对来说比较难于掌握,即使你已经掌握了C编程语言也是如此。本书为第二版,向想学习C++的程序员全面介绍了C++语言。该版本反映了C++标准的最新变化,采用切实的方法,着重介绍了如何设计清晰而有用的代码。简而言之,恰到好处的每一章介绍了编程的各个方面,包括风格、软件工程、程序设计、面向对象设计和调试。本书还介绍了一些常见错误以及如何找到和避免这些错误。每章结尾的练习有助于确保读者掌握本章内容。本书内容涵盖:·C++语法·代码编写标准和风格·对象类的创建和使用·模板·调试和优化·C++预处理器的使用·文件输入/输出

图书目录

前言

第一部分 基础知识

第一章 什么是C

C 简史

C 的组织结构

如何学习C

第二章 编程基础

程序从概念到执行

创建实际的程序

在Unix中获得帮助

在IDE中获得帮助

编程练习

第三章 风格

注释

C 代码

命名风格

编写代码的信仰

缩排和代码格式

清晰

简单

一致性和组织结构

进一步阅读

小结

第四章 基本声明和表达式

基本的程序结构

简单表达式

std::cout输出对象

变量和存储

变量声明

整数

赋值语句

浮点数

浮点除与整数除

字符

宽字符

布尔类型

编程练习

章节问题答案

第五章 数组. 限定符和读数据

数组

字符串

读数据

初始化变量

多维数组

C风格字符串

整数的类型

浮点数的类型

常量和引用声明

限定符

十六进制常量和八进制常量

用于执行快捷方式的操作符

副作用

编程练习

章节问题答案

第六章 判断和控制语句

if语句

else语句

如何不使用std::strcmp

循环语句

while语句

break语句

continue语句

赋值在任何地方的副作用

编程练习

章节问题答案

第七章 编程过程

设置你自己的工作区域

规范

代码设计

原型

Makefile

测试

调试

维护

修订

电子考古学

标记程序

使用调试器

使用文本编辑器作为浏览器

添加注释

编程练习

第二部分 简单编程

第八章 更多控制语句

for语句

switch语句

switch. break和continue

编程练习

章节问题答案

第九章 变量作用域和函数

作用域和存储类别

名称空间

函数

参数类型的总结

递归

结构化的编程基础

实际编程

编程练习

章节问题答案

第十章 C 预处理器

#define语句

条件编译

#include文件

参数化的宏

高级特性

小结

编程练习

章节问题答案

第十一章 位操作

位操作符

与操作符(&)

按位或(|)

按位异或(^)

按位非操作符(~)

位左移和位右移操作符(<<, >>)

设置. 清除和测试位

位映像图

编程练习

章节问题答案

第三部分 高级的类型和类

第十二章 高级类型

结构

联合

typedef

枚举类型

位成员或紧缩结构

结构数组

编程练习

章节问题答案

第十三章 简单类

改进后的栈

类的使用

构造函数和析构函数简介

自动生成的成员函数

快捷方式

风格

结构和类

编程练习

第十四章 类的其他知识

friends

constant函数

常量成员

静态成员变量

静态成员函数

static的含义

编程练习

第十五章 简单指针

const指针

指针和输出

指针和数组

reinterpret_cast

指针和结构

命令行参数

编程练习

章节问题答案

第四部分 高级编程概念

第十六章 文件输入/输出

C

文件I/O

转换例程

二进制文件和ASCII文件

行结束难题

二进制I/O

缓冲问题

非缓冲I/O

设计文件格式

C风格 I/O 例程

C风格的转换例程

C风格二进制I/O

C风格I/O与C 风格I/O

编程练习

章节问题答案

第十七章 调试和优化

代码评审

顺序调试

获得输出结果

交互调试器

调试二分查找

交互调试技巧

运行时错误

优化

如何优化

案例研究:内联函数和普通函数

案例研究:优化着色算法

编程练习

章节问题答案

第十八章 操作符重载

创建简单的定点类

操作符函数

操作符成员函数

缺点

定点类的完整定义

编程练习

章节问题答案

第十九章 浮点数

浮点格式

浮点加/减

乘法和除法

上溢和下溢

舍入误差

精确度

最小化舍入误差

确定精确度

精度和速度

幂级数

编程练习

第二十章 高级指针

指针. 结构和类

delete操作符

链表

有序链表

双向链表

输出一个树

程序的其他部分

Chess程序的数据结构

编程练习

章节问题答案

第二十一章 高级类

派生类

虚函数

虚类

派生类中的函数隐藏

派生类中的构造函数和析构函数

dynamic_cast操作符

小结

编程练习

章节问题答案

第五部分 其他语言特性

第二十二章 异常

在栈类中添加异常

异常和assert

编程练习

第二十三章 模块化编程

模块

public和private

extern存储类

头文件

模块体

使用无限数组的一个程序

多个文件的Makefile

使用无限数组

将一个任务划分成多个模块

模块设计指南

编程练习

第二十四章 模板

什么是模板?

模板:比较困难的方式

模板:C 采用的方式

函数特殊化

类模板

类特殊化

实现细节

高级功能

小结

编程练习

第二十五章 标准模板库

STL基础

类List —— 一个学生集合

使用STL列表创建一个等待列表

将成绩存储在STL映射中

全部输出

实际使用STL需要考虑的因素

获取更多信息

编程练习

第二十六章 程序设计

设计目标

设计要素

设计准则

编码

对象

实际设计技巧

小结

第二十七章 完整的开发过程

需求

代码设计

编码

功能说明

测试

修订版

最终警告

程序文件

编程练习

第二十八章 从C到C

K&R风格的函数

struct

malloc 和 free

将结构转变为类

setjmp 和 longjmp

混合使用C和C 代码

小结

编程练习

第二十九章 C 遗忘的角落

do/while

goto

: 结构

逗号操作符

重载 操作符

指向成员的指针

asm语句

限定符mutable

运行期间类型判定

通配符

章节问题答案

第三十章 编程格言

一般

设计

声明

switch语句

预处理器

风格

编译

C 程序员十诫

最后注意事项

章节问题答案

第六部分 附录

附录一 ASCII表

附录二 范围

附录三 操作符优先规则

附录四 使用幂级数计算正弦值

附录五 资源

索引