欢迎光临散文网 会员登陆 & 注册

C++编程从入门到实践 第2版

2023-06-08 19:34 作者:迟到的火龙果  | 我要投稿

链接:https://pan.baidu.com/s/1HLDI7gR4MbdGaangOL1TAg?pwd=j53g 

提取码:j53g

本书由浅入深地讲解了C++开发技术的核心内容,并通过具体实例演练了各个知识点在实践中的具体使用方法。全书共23章:第1~2章讲解了C++技术的基础知识,包括C++的重要特性和开发环境搭建;第3~7章分别讲解了C++语法、变量、常量、流程控制、运算符和表达式等知识;第8~11章分别讲解了输入、输出、函数、指针和复合类型的基本知识,包含了C++开发技术的重点和难点;第12~20章分别讲解了面向对象、类、继承、派生、多态、内存管理和异常等内容;第21~23章通过3个综合实例,介绍了C++技术在综合项目中的开发流程。全书内容循序渐进,以“范例演练”和“技术解惑”贯穿全书,引领读者全面掌握C++语言。
本书不但适合C++的初学者,也适合有一定C++基础的读者,还可以作为大专院校相关专业师生的学习用书和培训学校的教材。

作者简介

王石磊,著名企业服务器事业部开发工程师,10多年C和C++开发经验,熟悉驱动开发、系统开发,参与研发了单位的著名的系统开发,这是中国**自主研发的云数据中心操作系统,深度融合OpenStack,是开放、融合、安全的云数据中心操作系统,支持最广泛的异构资源管理和跨云整合。

目录

目  录

第 1章 C++语言介绍 1
1.1 什么是C++ 2
1.1.1 C++的发展历史 2
1.1.2 C++的优点和缺点 2
1.2 C++语言的现状 3
1.3 面向对象 4
1.4 标准库介绍 4
第 2章 搭建C++开发环境 5
2.1 使用Visual C++ 6.0 6
2.1.1 Visual C++ 6.0的特点 6
2.1.2 安装Visual C++ 6.0 6
2.2 使用Microsoft Visual Studio 9
2.2.1 Visual Studio 2017的
新功能 9
2.2.2 安装Microsoft Visual
Studio 2017 10
2.3 编写第 一个C++程序 12
2.3.1 使用Visual C++ 6.0
实现 13
2.3.2 使用Visual Studio 2017
实现 15
2.4 使用手机开发C++程序 17
2.4.1 GCC和C4droid 18
2.4.2 在手机中搭建C++开发
环境 18
2.4.3 在iPhone中使用
Mobile C/C++ 18
2.5 技术解惑 19
2.5.1 初学者经常不知道自己
该学什么 19
2.5.2 初学者需要知道的正确
观念 19
2.6 课后练习 19
第3章 C++语言开发基础 20
3.1 面向对象 21
3.1.1 两种对象的产生方式 21
3.1.2 C++面向对象编程的
流程 21
3.2 C++语言的程序结构 21
3.2.1 初识C++程序结构 21
3.2.2 看C++程序的文件组织 23
3.3 C++编码规范 24
3.3.1 养成良好的风格 24
3.3.2 必须使用的注释 24
3.3.3 代码也需要化妆 25
3.4 输入和输出 26
3.4.1 标准输入与输出对象 27
3.4.2 一个使用I/O库的程序 27
3.4.3 使用using声明命名空间 29
3.5 算法 30
3.5.1 算法的概念 30
3.5.2 流程图表示算法 31
3.5.3 计算机语言表示算法 32
3.6 技术解惑 33
3.6.1 C++是面向对象,C是面
向过程,那么这个对象和
过程是什么意思 33
3.6.2 面向对象和面向过程的
区别 33
3.6.3 学好C++的建议 34
3.7 课后练习 34
第4章 C++语言的基础语法 35
4.1 标识符 36
4.1.1 C++中的保留字 36
4.1.2 标识符的命名规则 36
4.2 数据类型 38
4.2.1 数字运算型 38
4.2.2 逻辑运算型 41
4.2.3 字符型和字符串 42
4.3 标准类型库 43
4.3.1 C++标准库介绍 43
4.3.2 标准库中的主要成员 44
4.4 技术解惑 45
4.4.1 C++的标识符长度的
“min-length &&
max-information”原则 45
4.4.2 字符和字符串的区别 45
4.4.3 C++中string类字符串和
C中char*/char[]型
字符串的差别 45
4.4.4 C++字符串和C字符串的
转换 45
4.4.5 C++字符串和字符串结束
标志 46
4.5 课后练习 46
第5章 变量和常量 47
5.1 变量 48
5.1.1 定义变量 48
5.1.2 声明变量 48
5.2 变量的作用域 49
5.2.1 作用域和生存期 49
5.2.2 作用域限定符 51
5.2.3 存储类型 51
5.2.4 C++变量初始化 53
5.3 常量 54
5.3.1 什么是常量 54
5.3.2 使用常量 55
5.4 使用C++ 11标准处理复杂的
类型 56
5.4.1 定义类型别名 56
5.4.2 使用auto实现类型推导 57
5.4.3 使用decltype推导类型 58
5.4.4 使用常量表达式 59
5.5 技术解惑 60
5.5.1 C++常量的命名是否需要
遵循一定的规范 60
5.5.2 在C++程序中用const还是
用#define定义常量 60
5.5.3 const是个很重要的
关键字,在使用时应该
注意哪些 60
5.5.4 关于全局变量的初始化,
C语言和C++是否有
区别 61
5.5.5 C/C++变量在内存中的
分布 61
5.5.6 静态变量的初始化顺序 61
5.6 课后练习 61
第6章 运算符和表达式 62
6.1 运算符和表达式详解 63
6.1.1 赋值运算符和赋值
表达式 63
6.1.2 算术运算符和算术
表达式 64
6.1.3 比较运算符和比较
表达式 66
6.1.4 逻辑运算符和逻辑
表达式 67
6.1.5 ++/ 运算符和表达式 67
6.1.6 位运算符和位表达式 68
6.1.7 求字节数运算符和
求字节表达式 70
6.1.8 条件运算符和条件
表达式 72
6.1.9 逗号运算符和逗号
表达式 72
6.1.10 运算符的优先级和
结合性 73
6.2 类型转换 76
6.2.1 使用隐式转换 76
6.2.2 使用显式转换 77
6.3 技术解惑 81
6.3.1 避免运算结果溢出的
一个方案 81
6.3.2 运算符重载的权衡 81
6.3.3 运算符重载是对已有
运算符赋予多重含义 81
6.4 课后练习 82
第7章 流程控制语句 83
7.1 语句和语句块 84
7.1.1 最简单的语句 84
7.1.2 语句块 84
7.2 顺序结构 86
7.3 选择结构 86
7.3.1 单分支结构语句 87
7.3.2 双分支结构语句 87
7.3.3 使用多分支结构语句 90
7.4 循环结构详解 91
7.4.1 循环语句的形式 92
7.4.2 for语句循环 92
7.4.3 使用while语句 94
7.4.4 使用do-while语句 95
7.5 使用跳转语句 96
7.5.1 使用break语句 96
7.5.2 使用continue语句 97
7.5.3 使用goto语句 97
7.6 C++ 11新规范:基于范围的
for循环语句 98
7.7 技术解惑 99
7.7.1 循环中断的问题 99
7.7.2 分析循环语句的效率 100
7.7.3 几种循环语句的比较 100
7.7.4 C++中的for循环该
怎么读 100
7.7.5 一个C++循环结构
嵌套的问题 100
7.7.6 break语句和continue
语句的区别 101
7.8 课后练习 101
第8章 指针 102
8.1 指针的基本概念 103
8.2 定义指针 103
8.2.1 定义指针的方式 103
8.2.2 识别指针 104
8.2.3 指针的分类 104
8.3 指针的初始化 105
8.3.1 指针初始化时的类型 106
8.3.2 指针地址初始化 106
8.3.3 变量地址初始化 106
8.3.4 使用new分配内存单元 107
8.3.5 使用函数malloc分配
内存单元 107
8.4 指针运算 108
8.4.1 算术运算 108
8.4.2 关系运算 110
8.5 指针的指针 112
8.6 使用指针 113
8.6.1 指针赋值 114
8.6.2 使用“*”操作符 114
8.7 分析指针和引用的关系 115
8.8 特殊指针 117
8.8.1 void型指针 118
8.8.2 空指针 119
8.8.3 C++ 11:使用nullptr
得到空指针 120
8.9 C++ 11:使用标准库函数
begin和end 120
8.10 技术解惑 121
8.10.1 指针的命名规范 121
8.10.2 指针和引用的区别 122
8.10.3 变量的实质 123
8.10.4 避免和解决野指针 123
8.10.5 常量指针常量和常量
引用常量 125
8.10.6 指针常量和引用常量的
对比 125
8.10.7 常量指针和常量引用的
对比 125
8.11 课后练习 126
第9章 数组、枚举、结构体和联合 127
9.1 使用数组 128
9.1.1 定义数组 128
9.1.2 高级数组 129
9.1.3 分析数组的完整性 130
9.2 动态数组 131
9.2.1 在堆上分配空间的
动态数组 131
9.2.2 在栈上分配空间的
“假动态”数组 132
9.3 字符数组 133
9.3.1 定义字符数组 133
9.3.2 字符数组和字符串指针
变量 134
9.4 数组初始化 135
9.4.1 定义时的初始化 135
9.4.2 初始化赋值语句 136
9.5 指针和数组 137
9.5.1 基本原理 137
9.5.2 指向数组的指针 137
9.5.3 指针数组 138
9.6 枚举 139
9.6.1 枚举基础 139
9.6.2 使用枚举 140
9.7 结构体 141
9.7.1 定义结构体 142
9.7.2 指向结构体的指针 142
9.7.3 使用结构体 143
9.8 联合 144
9.9 C++ 11新特性:数组的
替代品——array 145
9.10 技术解惑 146
9.10.1 字符数组和字符串的
区别 146
9.10.2 字符数组和字符串可以
相互转换 147
9.10.3 静态数组的速度快于
动态数组 147
9.10.4 Arrays与Vector的
区别 147
9.10.5 一道关于数组的
面试题 147
9.10.6 数组名不是指针 149
9.10.7 作为一个用户自定义
类型,其所占用内存
空间是多少 149
9.11 课后练习 150
第 10章 函数 151
10.1 函数基础 152
10.1.1 定义函数 152
10.1.2 函数分类 153
10.2 参数和返回值 158
10.2.1 什么是形参实参 158
10.2.2 使用数组作函数
参数 159
10.3 调用函数 160
10.3.1 单独调用 160
10.3.2 函数表达式 160
10.3.3 调用实参 161
10.3.4 参数传递 161
10.4 函数的基本操作 162
10.4.1 函数递归 162
10.4.2 指向函数的指针 163
10.4.3 将函数作为参数 164
10.5 技术解惑 165
10.5.1 用typedef定义一个函数
指针类型 165
10.5.2 const关键字在函数中的
作用 166
10.5.3 C++函数的内存分配
机制 167
10.5.4 主函数和子函数的
关系 167
10.5.5 函数声明和函数定义的
区别 168
10.5.6 使用全局变量的
注意事项 168
10.5.7 使用寄存器变量的
注意事项 168
10.5.8 自动变量的特点 169
10.6 课后练习 169


C++编程从入门到实践 第2版的评论 (共 条)

分享到微博请遵守国家法律