好书推荐 好书速递 排行榜 读书文摘

C++实战笔记

C++实战笔记
作者:罗剑锋
出版社:人民邮电出版社
出版年:2021-11
ISBN:9787115574282
行业:计算机
浏览数:3

内容简介

C++编程语言,堪称编程语言中的“全能选手”,它不仅功能强大、灵活,而且适用场景非常广泛。但是要想真正掌握 C++,其技术门槛往往较高,这也使“新手”学起来困难,甚至连“老手”也觉得用好它并不容易。 本书根据作者 20 多年编写 C++代码的实践经验,精选出了现代 C++中好用且实用的若干特性,通过代码演示实战技巧,帮助读者轻松地看懂、学会 C++编程。本书从开发环境、开发综述、核心语言特性、标准库、进阶技能、设计模式、应用实例等方面深入浅出地介绍了 C++实战技巧。除此之外,本书还囊括了作者多年的开发心得,例如图书推荐、工作经验分享、时间管理方法等特色内容。 本书并不是一本入门教程,比较适合学过 C++基础知识,仍缺乏高效的 C++实战技巧的读者阅读。通过阅读本书,读者可以深入洞悉 C++核心知识,进一步夯实实战技能,开拓编程思路。

......(更多)

作者简介

罗剑锋,网名“Chrono”,前奇虎360技术*业人士,Nginx/OpenResty开源项目贡献者,也是*客时间《透视HTTP协议》等*栏的作者。他熟悉各种网络应用协议,*注于C/C++、Linux、*性能编程等*域,著有《C++**/*4 *级编程》《Boost程序库完*开发指南》《Nginx 完*开发指南》《OpenResty 完*开发指南》等图书。

......(更多)

目录

第1章 C++开发环境 *

*.* 环境要求 *

*.*.* 操作系统 *

*.*.2 编译器 2

*.*.3 实际环境 2

*.2 使用VM搭建环境 3

*.3 使用Docker搭建环境 3

*.4 使用Kubernetes搭建环境 4

*.5 测试并验证 5

*.6 小结 6

*.7 常见问题解答 7

第2章 C++开发综述 8

2.* C++标准简介 8

2.*.* C++98/03 8

2.*.2 C++**/*4 9

2.*.3 C++*7 9

2.*.4 C++20 *0

2.*.5 C++标准小结 *0

2.2 重新认识C++ *0

2.2.* 生命周期 *0

2.2.2 编程范式 *3

2.2.3 C++核心知识小结 *5

2.3 编码*段的代码风格 *6

2.3.* 留白的艺术 *7

2.3.2 命名规范 *8

2.3.3 注释规范 20

2.3.4 源码组织和管理 22

2.3.5 其他注意事项 23

2.3.6 代码风格小结 24

2.4 预处理*段编程 24

2.4.* 预处理简介 24

2.4.2 *含文件 25

2.4.3 宏定义 26

2.4.4 条件编译 28

2.4.5 预处理小结 30

2.5 编译*段编程 3*

2.5.* 编译简介 3*

2.5.2 属性 32

2.5.3 静态断言 35

2.5.4 编译小结 37

2.6 运行*段的调试分析 37

2.7 常见问题解答 38

第3章 C++核心语言*性 4*

3.* 面向对象编程 4*

3.*.* 设计思想 42

3.*.2 实现原则 42

3.*.3 编码准则 44

3.*.4 实用技巧 46

3.*.5 面向对象编程小结 49

3.2 自动类型推导 49

3.2.* 什么是自动类型推导 50

3.2.2 auto关键字 52

3.2.3 decltype关键字 53

3.2.4 用好自动类型推导 55

3.2.5 自动类型推导小结 57

3.3 常量与变量 57

3.3.* const/volatile关键字 57

3.3.2 const的使用方法 59

3.3.3 mutable关键字 62

3.3.4 constexpr关键字 63

3.3.5 常量与变量小结 64

3.4 异常 65

3.4.* 为什么要有异常 66

3.4.2 异常的用法 67

3.4.3 谨慎使用异常 70

3.4.4 *证*抛出异常 7*

3.4.5 异常小结 72

3.5 函数式编程 72

3.5.* 关于函数的讨论 73

3.5.2 lambda是什么 73

3.5.3 lambda的形式 75

3.5.4 函数式编程小结 79

3.6 其他新*性*选 80

3.6.* 内联名字空间 80

3.6.2 嵌套名字空间 80

3.6.3 强类型枚举 8*

3.6.4 条件语句初始化 82

3.6.5 二进制字面值 82

3.6.6 数字分位符 83

3.7 常见问题解答 83

第4章 C++标准库 86

4.* 智能指针 86

4.*.* 智能指针简介 86

4.*.2 *有指针 87

4.*.3 共享指针 89

4.*.4 弱引用指针 9*

4.*.5 智能指针小结 93

4.2 字符串 94

4.2.* 字符串类型 94

4.2.2 字符串的用法 95

4.2.3 字符串视图 98

4.2.4 字符串格式化 *00

4.2.5 正则表达式 *0*

4.2.6 字符串小结 *06

4.3 标准容器 *07

4.3.* 容器简介 *07

4.3.2 容器的*性 *08

4.3.3 顺序容器 *08

4.3.4 有序容器 **0

4.3.5 *序容器 **2

4.3.6 标准容器小结 **4

4.4 *殊容器 **5

4.4.* 可选值 **5

4.4.2 可变值 **7

4.4.3 任意值 *20

4.4.4 多元组 *2*

4.4.5 *殊容器小结 *23

4.5 标准算法 *23

4.5.* 算法简介 *23

4.5.2 迭代器简介 *25

4.5.3 遍历算法 *26

4.5.4 排序算法 *28

4.5.5 查找算法 *29

4.5.6 范围算法 *32

4.5.7 标准算法小结 *35

4.6 线程并发 *35

4.6.* 线程简介 *36

4.6.2 单次调用 *37

4.6.3 局*存储 *38

4.6.4 原子变量 *39

4.6.5 线程接口 *42

4.6.6 线程并发小结 *45

4.7 常见问题解答 *45

第5章 C++进*技能 *49

5.* 准标准库 *49

5.*.* 字符串转换 *50

5.*.2 字符串算法 *52

5.*.3 **度计时器 *55

5.*.4 准标准库小结 *57

5.2 数据序列化 *57

5.2.* JSON *58

5.2.2 MessagePack *60

5.2.3 ProtoBuffer *63

5.2.4 数据序列化小结 *65

5.3 网络通信 *66

5.3.* libcurl *66

5.3.2 cpr *68

5.3.3 cinatra *70

5.3.4 ZMQ *76

5.3.5 网络通信小结 *79

5.4 多语言混合编程 *79

5.4.* Python *80

5.4.2 Lua *84

5.4.3 多语言混合编程小结 *87

5.5 性能分析 *88

5.5.* 外*查看 *88

5.5.2 内*分析 *92

5.5.3 性能分析小结 *95

5.6 常见问题解答 *96

第6章 C++与设计模式 *99

6.* 设计模式简介 *99

6.2 设计原则简介 200

6.2.* SOLID原则 20*

6.2.2 DRY/KISS原则 203

6.3 解读设计模式 203

6.3.* *建型模式 203

6.3.2 结构型模式 205

6.3.3 行为模式 206

6.3.4 其他模式 208

6.4 小结 209

第7章 C++应用实例 2**

7.* 项目设计 2**

7.2 预备开发 2*2

7.2.* 核心头文件 2*3

7.2.2 自旋锁 2*3

7.2.3 网络通信 2*5

7.2.4 配置解析 2*6

7.3 正式开发 2*8

7.3.* 数据定义 2*8

7.3.2 数据序列化 220

7.3.3 数据存储和统计 220

7.3.4 主服务器 222

7.4 测试验证 225

7.4.* 后端服务器 225

7.4.2 客户端 226

7.4.3 运行效果 227

7.5 小结 227

第8章 结束语 229

8.* 公正看待C++ 229

8.2 如何学习C++ 230

8.3 临别赠言 230

附录A *图书推荐 232

A.* 《设计模式:可复用面向对象软件的基础》 232

A.2 《C++标准程序库》 233

A.3 《C++语言的设计与演化》 233

A.4 《C++ Primer》 234

A.5 小结 234

附录B 工作经验分享 236

B.* Linux 236

B.2 Vim 237

B.3 Git 239

B.4 GDB 239

附录C 时间管理 24*

C.* 工作时间的管理 24*

C.2 工作小技巧 243

C.3 非工作时间的管理 243

C.4 小结 245

......(更多)

读书文摘

......(更多)

猜你喜欢

点击查看