You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
5.7 KiB
Markdown

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 现代C++编程实战
## 你将获得
* 掌握 C++ 语言现代特性
* 领会 C++ 抽象表达精髓
* 实践 C++ 开发惯用模式
* 征服复杂性解决实际问题
## 讲师介绍
吴咏炜前英特尔亚太研发中心资深系统架构师。1995 年毕业于复旦大学,​​从事软件开发工作 20 多年,​历任开发工程师、项目经理、开发经理、架构师等职务。作者热爱软件技术,热爱​ C++热爱开源对于精炼、易于维护的代码追求不懈。曾参与翻译《编程大师访谈录》。GitHub 上也能看到其维护的一些小开源项目,如 libunibreak。
## 课程介绍
C++,一门声名在外的老牌编程语言。
作为一门多范式的通用编程语言,它适用的领域非常广泛,小到嵌入式,大到分布式服务器,到处可以见到 C++ 的身影。从性能上看C++ 表现也很出色虽然完成同样的功能C++ 需要的代码行数可能是 Python 的三倍,而性能则可以轻松达到 Python 的十倍以上。此外其发展前景也非常广阔作为未来趋势的人工智能和机器学习外衣是Python模型描述但是内核还是 C++(高性能运算) 。
但你也可能听说过 C++ 的另一种评价——复杂、难学、难用。上手和熟练掌握难应用上容易出错被误用的可能性也很大。还有C++ 继发布语言标准的第二版——C++11——之后它以每三年一版的频度发布着新的语言标准每一版都在基本保留向后兼容性的同时提供改进和新功能。
难且迭代迅速,相信这两座大山让很多 C++ 程序员都望而生畏。可事实真的如此吗?你有没有深入思考过到底什么样的学习方式才最适合 C++?面对那么多的新功能、单词和语法规则,要记吗?哪些才是重点?记住了又怎么用呢?
针对以上这些问题,吴咏炜将结合自己过去 20 多年累积的工作经验,节选现代 C++ 的重要新特性,带你进入编程实战,手把手带你重新理解 C++。相信通过本专栏的学习,你能把 C++ 当作一种实用的语言,能用它写出抽象但自然、可维护的高性能代码,并用它去更好地解决项目中的实际问题。
具体内容上,专栏分为以下四部分:
第一部分——基础篇,讲解现代 C++ 中的最重要特性,帮助你理解基础概念;
第二部分——提高篇,讲述几个独立的专题,帮助你掌握 C++ 中的一些高级技巧;
第三部分——实战篇,讨论实际的工具和第三方库,帮助你打磨手头的兵器库;
第四部分——未来篇,讨论 C++20 中即将引入的一些新特性,帮助你培养前瞻性。
# 学习路径图
![](https://static001.geekbang.org/resource/image/7a/d4/7a3ce178c061a1fcefda2bca881247d4.jpg)
# 特别说明:
1.专栏中的内容大部分时间都会使用不超过 C++17 标准的语言特性,最后在讲到 C++20 新特性时,某些实验功能可能会要求某个特定的编译器,更多细节请参见 [\[课前必读\]](https://time.geekbang.org/column/article/169198)。
2.专栏涉及到的都是较短的代码,因此不需要工程文件也可以编译运行。这里建议你熟悉编译器的命令行,来快速编译代码。
3.为了方便你编译,可编译的完整示例代码已经放在 [GitHub](https://github.com/adah1972/geek_time_cpp) 上。如果你使用 CMake还可以用它来生成你使用的平台所需的工程文件。
4.专栏中案例+代码偏多,不建议仅通过音频学习,“文稿+音频+动手实践”为最佳学习方式。
## 课程目录
![](https://static001.geekbang.org/resource/image/f6/29/f6cfb49b379a72ebb8c368bff3f3cc29.jpg)
## 适合人群
具有 15 年工作经验的 C++ 程序员,熟悉基本编程概念和 C++ 的基本语法包括指针、引用、异常、递归、class 等(不要求熟悉 C++11有意愿了解更深入的 C++ 知识。不适宜完全没学过 C++ 的人(本专栏非 0 基础课程)。
## 特别放送
#### 免费领取福利
[![](https://static001.geekbang.org/resource/image/3b/f4/3bdf677ae6490acb5f2899985e9337f4.jpg?wh=1029x315)](https://time.geekbang.org/article/455497)
#### 限时活动推荐
[![](https://static001.geekbang.org/resource/image/67/a0/6720f5d50b4b38abbf867facdef728a0.png?wh=1035x360)](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?dc_ps=2913145716543073286.200001)
## 订阅须知
1. 订阅成功后推荐通过“极客时间”App端、Web端学习。
2. 本专栏为虚拟商品,交付形式为图文+音频,一经订阅,概不退款。
3. 订阅后分享海报,每邀一位好友订阅有现金返现。
4. 戳此[先充值再购课更划算](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?scan=1&activity=none&from=kdt&qr=directgoods_1541158976&shopAutoEnter=1),还有最新课表、超值赠品福利。
5. 企业采购推荐使用“[极客时间企业版](https://b.geekbang.org/?utm_source=geektime&utm_medium=columnintro&utm_campaign=newregister&gk_source=2021020901_gkcolumnintro_newregister)”便捷安排员工学习计划,掌握团队学习仪表盘。
6. 戳此[申请学生认证](https://promo.geekbang.org/activity/student-certificate?utm_source=geektime&utm_medium=caidanlan1)订阅课程享受原价5折优惠。
7. 价格说明:划线价、订阅价为商品或服务的参考价,并非原价,该价格仅供参考。未划线价格为商品或服务的实时标价,具体成交价格根据商品或服务参加优惠活动,或使用优惠券、礼券、赠币等不同情形发生变化,最终实际成交价格以订单结算页价格为准。