C++实战笔记

副标题:无

作   者:罗剑锋

分类号:

ISBN:9787115574282

微信扫一扫,移动浏览光盘

简介

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

目录


第 1章 C 开发环境 1
1.1 环境要求 1
1.1.1 操作系统 1
1.1.2 编译器 2
1.1.3 实际环境 2
1.2 使用VM搭建环境 3
1.3 使用Docker搭建环境 3
1.4 使用Kubernetes搭建环境 4
1.5 测试并验证 5
1.6 小结 6
1.7 常见问题解答 7
第 2章 C 开发综述 8
2.1 C 标准简介 8
2.1.1 C 98/03 8
2.1.2 C 11/14 9
2.1.3 C 17 9
2.1.4 C 20 10
2.1.5 C 标准小结 10
2.2 重新认识C  10
2.2.1 生命周期 10
2.2.2 编程范式 13
2.2.3 C 核心知识小结 15
2.3 编码阶段的代码风格 16
2.3.1 留白的艺术 17
2.3.2 命名规范 18
2.3.3 注释规范 20
2.3.4 源码组织和管理 22
2.3.5 其他注意事项 23
2.3.6 代码风格小结 24
2.4 预处理阶段编程 24
2.4.1 预处理简介 24
2.4.2 包含文件 25
2.4.3 宏定义 26
2.4.4 条件编译 28
2.4.5 预处理小结 30
2.5 编译阶段编程 31
2.5.1 编译简介 31
2.5.2 属性 32
2.5.3 静态断言 35
2.5.4 编译小结 37
2.6 运行阶段的调试分析 37
2.7 常见问题解答 38
第3章 C 核心语言特性 41
3.1 面向对象编程 41
3.1.1 设计思想 42
3.1.2 实现原则 42
3.1.3 编码准则 44
3.1.4 实用技巧 46
3.1.5 面向对象编程小结 49
3.2 自动类型推导 49
3.2.1 什么是自动类型推导 50
3.2.2 auto关键字 52
3.2.3 decltype关键字 53
3.2.4 用好自动类型推导 55
3.2.5 自动类型推导小结 57
3.3 常量与变量 57
3.3.1 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.1 为什么要有异常 66
3.4.2 异常的用法 67
3.4.3 谨慎使用异常 70
3.4.4 保证不抛出异常 71
3.4.5 异常小结 72
3.5 函数式编程 72
3.5.1 关于函数的讨论 73
3.5.2 lambda是什么 73
3.5.3 lambda的形式 75
3.5.4 函数式编程小结 79
3.6 其他新特性精选 80
3.6.1 内联名字空间 80
3.6.2 嵌套名字空间 80
3.6.3 强类型枚举 81
3.6.4 条件语句初始化 82
3.6.5 二进制字面值 82
3.6.6 数字分位符 83
3.7 常见问题解答 83
第4章 C 标准库 86
4.1 智能指针 86
4.1.1 智能指针简介 86
4.1.2 专有指针 87
4.1.3 共享指针 89
4.1.4 弱引用指针 91
4.1.5 智能指针小结 93
4.2 字符串 94
4.2.1 字符串类型 94
4.2.2 字符串的用法 95
4.2.3 字符串视图 98
4.2.4 字符串格式化 100
4.2.5 正则表达式 101
4.2.6 字符串小结 106
4.3 标准容器 107
4.3.1 容器简介 107
4.3.2 容器的特性 108
4.3.3 顺序容器 108
4.3.4 有序容器 110
4.3.5 无序容器 112
4.3.6 标准容器小结 114
4.4 特殊容器 115
4.4.1 可选值 115
4.4.2 可变值 117
4.4.3 任意值 120
4.4.4 多元组 121
4.4.5 特殊容器小结 123
4.5 标准算法 123
4.5.1 算法简介 123
4.5.2 迭代器简介 125
4.5.3 遍历算法 126
4.5.4 排序算法 128
4.5.5 查找算法 129
4.5.6 范围算法 132
4.5.7 标准算法小结 135
4.6 线程并发 135
4.6.1 线程简介 136
4.6.2 单次调用 137
4.6.3 局部存储 138
4.6.4 原子变量 139
4.6.5 线程接口 142
4.6.6 线程并发小结 145
4.7 常见问题解答 145
第5章 C 进阶技能 149
5.1 准标准库 149
5.1.1 字符串转换 150
5.1.2 字符串算法 152
5.1.3 高精度计时器 155
5.1.4 准标准库小结 157
5.2 数据序列化 157
5.2.1 JSON 158
5.2.2 MessagePack 160
5.2.3 ProtoBuffer 163
5.2.4 数据序列化小结 165
5.3 网络通信 166
5.3.1 libcurl 166
5.3.2 cpr 168
5.3.3 cinatra 170
5.3.4 ZMQ 176
5.3.5 网络通信小结 179
5.4 多语言混合编程 179
5.4.1 Python 180
5.4.2 Lua 184
5.4.3 多语言混合编程小结 187
5.5 性能分析 188
5.5.1 外部查看 188
5.5.2 内部分析 192
5.5.3 性能分析小结 195
5.6 常见问题解答 196
第6章 C 与设计模式 199
6.1 设计模式简介 199
6.2 设计原则简介 200
6.2.1 SOLID原则 201
6.2.2 DRY/KISS原则 203
6.3 解读设计模式 203
6.3.1 创建型模式 203
6.3.2 结构型模式 205
6.3.3 行为模式 206
6.3.4 其他模式 208
6.4 小结 209
第7章 C 应用实例 211
7.1 项目设计 211
7.2 预备开发 212
7.2.1 核心头文件 213
7.2.2 自旋锁 213
7.2.3 网络通信 215
7.2.4 配置解析 216
7.3 正式开发 218
7.3.1 数据定义 218
7.3.2 数据序列化 220
7.3.3 数据存储和统计 220
7.3.4 主服务器 222
7.4 测试验证 225
7.4.1 后端服务器 225
7.4.2 客户端 226
7.4.3 运行效果 227
7.5 小结 227
第8章 结束语 229
8.1 公正看待C  229
8.2 如何学习C  230
8.3 临别赠言 230
附录A 经典图书推荐 232
A.1 《设计模式:可复用面向对象软件的基础》 232
A.2 《C 标准程序库》 233
A.3 《C 语言的设计与演化》 233
A.4 《C Primer》 234
A.5 小结 234
附录B 工作经验分享 236
B.1 Linux 236
B.2 Vim 237
B.3 Git 239
B.4 GDB 239
附录C 时间管理 241
C.1 工作时间的管理 241
C.2 工作小技巧 243
C.3 非工作时间的管理 243
C.4 小结 245


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

C++实战笔记
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon