• C++编程从入门到实践
21年品牌 40万+商家 超1.5亿件商品

C++编程从入门到实践

正版保障 假一赔十 可开发票

65.34 6.6折 99 全新

库存3件

广东广州
认证卖家担保交易快速发货售后保障

作者王石磊

出版社人民邮电出版社

ISBN9787115539694

出版时间2020-09

装帧平装

开本16开

定价99元

货号10985365

上书时间2024-08-29

灵感书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
王石磊,著名企业服务器事业部开发工程师,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:使用ptr
得到空指针 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
第 11章 输入和输出 170
11.1 使用iostream对象 171
11.1.1 库iostream的作用 171
11.1.2 标准的I/O接口 171
11.1.3 文件I/O 173
11.1.4 字符串I/O 174
11.2 输出 175
11.2.1 预定义类型输出 175
11.2.2 自定义类型输出 176
11.3 输入 177
11.3.1 预定义类型输入 177
11.3.2 自定义类型输入 177
11.4 输入/输出的格式化 178
11.4.1 使用ios类成员函数 179
11.4.2 使用操纵函数 180
11.5 文件操作 181
11.5.1 打开和关闭 181
11.5.2 随机读写 183
11.5.3 二进制文件 184
11.5.4 检测EOF 185
11.6 技术解惑 187
11.6.1 输入/输出时数的
进制问题 187
11.6.2 数据间隔 187
11.6.3 内存文件映射 188
11.6.4 get和put的值的
差异 188
11.6.5 使用控制符控制输出
格式 188
11.7 课后练习 189
第 12章 面向对象的类和对象 190
12.1 类 191
12.1.1 声明类 191
12.1.2 类的属性 192
12.1.3 类的方法 192
12.1.4 构造函数 193
12.1.5 析构函数 194
12.1.6 静态成员 195
12.1.7 友元 196
12.1.8 使用修饰符 198
12.2 对象 199
12.2.1 定义对象 199
12.2.2 对象数组 200
12.2.3 对象指针 201
12.2.4 使用this指针 201
12.3 C++ 11标准的新变化 203
12.3.1 定义一个类内初始值 203
12.3.2 使用initializer_list
处理多个实参 204
12.4 技术解惑 208
12.4.1 浅复制和深复制 208
12.4.2 构造函数的错误认识和
正确认识 209
12.4.3 保护性析构函数的
作用 209
12.5 课后练习 210
第 13章 命名空间和作用域 211
13.1 命名空间基础 212
13.1.1 命名空间介绍 212
13.1.2 定义命名空间 212
13.2 使用命名空间 214
13.2.1 使用域限定符 214
13.2.2 使用using指令 215
13.2.3 使用using声明 216
13.2.4 使用别名 216
13.3 作用域 217
13.3.1 与作用域相关的概念 217
13.3.2 作用域的分类 218
13.4 技术解惑 220
13.4.1 using指令与using
声明的比较 220
13.4.2 为什么需要命名空间 220
13.4.3 命名空间的作用 221
13.4.4 C++中头文件的使用
方法 222
13.5 课后练习 222
第 14章 继承和派生 223
14.1 继承与派生基础 224
14.2 C++的继承机制 224
14.2.1 定义继承 224
14.2.2 派生类的继承方式 226
14.2.3 公有派生和私有派生 227
14.3 派生类 228
14.3.1 使用基类 228
14.3.2 使用派生 228
14.3.3 构造函数 230
14.3.4 析构函数 232
14.3.5 使用同名函数 233
14.3.6 使用同名属性 235
14.4 单重继承和多重继承 236
14.4.1 单重继承 236
14.4.2 多重继承 236
14.4.3 多重继承下的构造
函数和析构函数 237
14.5 虚继承和虚基类 239
14.5.1 虚基类介绍 240
14.5.2 使用虚基类 240
14.6 技术解惑 241
14.6.1 通过虚继承解决二义性
问题 241
14.6.2 使用C++虚基类的
注意事项 242
14.6.3 虚基类的子对象的
初始化 243
14.6.4 允许派生类中的成员名与
基类中的成员名相同 243
14.7 课后练习 243
第 15章 多态 244
15.1 什么是多态 245
15.2 宏多态 245
15.3 虚函数 246
15.3.1 虚函数基础 246
15.3.2 纯虚函数 248
15.4 抽象类 249
15.4.1 什么是抽象类 249
15.4.2 抽象类的派生 249
15.5 运算符重载和函数重载 251
15.5.1 运算符重载基础 251
15.5.2 重载一元运算符 251
15.5.3 重载二元运算符 252
15.5.4 参数类型不同的重载 253
15.6 流的重载 254
15.6.1 流插入重载 254
15.6.2 流提取重载 255
15.7 覆盖 257
15.7.1 覆盖函数 257
15.7.2 覆盖变量 258
15.8 技术解惑 259
15.8.1 重载、覆盖和隐藏的
区别 259
15.8.2 在重载运算符时要权衡
实施的必要性 260
15.8.3 为什么需要函数重载 260
15.8.4 重载函数的调用匹配 260
15.8.5 另一种虚方法查找
方案 261
15.8.6 两种重载方法的比较 262
15.9 课后练习 262
第 16章 使用模板 263
16.1 模板基础 264
16.2 类模板 265
16.2.1 什么是类模板 265
16.2.2 定义类模板 265
16.2.3 使用类模板 266
16.2.4 类模板的派生 268
16.2.5 类模板和模板类的
区别 268
16.3 函数模板 270
16.3.1 定义函数模板 270
16.3.2 使用函数模板 271
16.3.3 模板实例化 271
16.3.4 模板组合 273
16.4 技术解惑 273
16.4.1 在函数模板中使用多个
类型参数时要避免类型
参数的二义性 273
16.4.2 函数模板和模板函数的
区别 274
16.4.3 函数模板和类模板的
区别 274
16.4.4 仿函数的用处 275
16.5 课后练习 275
第 17章 异常处理 276
17.1 什么是异常处理 277
17.2 C++的异常处理 277
17.2.1 使用throw抛出异常 277
17.2.2 使用raise抛出异常 279
17.2.3 使用try catch异常
捕获 279
17.2.4 异常处理中的构造和
析构 281
17.3 C++的异常处理总结 282
17.4 技术解惑 284
17.4.1 编写软件的目标 284
17.4.2 关于C++关键字new的
异常处理 284
17.4.3 C++语言异常处理和
结构化异常处理有
什么区别 285
17.4.4 C++抛出异常不捕获,
程序的空间会释放吗 285
17.4.5 throw抛出异常的
特点 286
1

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP