如何成为 C++ 高手?听听 20 年技术老兵怎么说丨极客时间

2020 年 5 月 7 日 InfoQ

大家好,我是罗剑锋,去年我在极客时间出了专栏《透视 HTTP 协议》,今年我想跟你聊聊我写了 20 多年的“老本行” —— C++。

说起 C++,很多人的第一反应就是:复杂、难学,事实也的确如此。但不可否认,C++ 在近 30 年里经久不衰,并且现在学习 C++ 的人还在逐年增长。

究其原因,是 C++ 有着独特优势。C++ 是编程语言中的“万能选手”,它的适用领域非常广泛,许多新的编程语言都从它身上汲取了设计灵感。作为一门接近底层的语言,它可以帮你更好地理解计算机系统的应用机制,提升混合编程的能力,学完 C++,再学其他的语言,就会感觉容易很多。

而且 C++ 的两大利器:高抽象层次,又兼具高性能,这也是其他语言所无法替代的。现在很多有名的软件框架里都能看到 C++ 的影子,还有许多浏览器内核代码几乎全是 C++。在运行效率要求比较高的行业,如游戏、高效服务器等, C++ 更是有着不可比拟的优势。熟练的 C++ 工程师自然也获得了“高水平、高薪资”的名声,这也就是为什么有这么多人都在硬着头皮继续学。

但 C++ 的学习困难也是很明显的。

随着标准版本的演进,C++ 里包含的东西也越来越多。不断膨胀的核心语言加上庞大的标准库,让学习、使用 C++ 的门槛无形中提高了很多,不仅“新手”学起来很难,就连“老手”也觉得用好它并不是一件容易的事情。大家总会遇到一些共性的难题

  • C++ 太庞大复杂了,该怎么抓住重点?该用哪些特性?

  • C++11/14 有很多新特性,时间精力有限,用哪些能够迅速改善代码质量?

  • 开源的 C++ 库很多,但良莠不齐,哪些库最好用呢?

  • 标准库里的东西太多了,比如容器、算法、迭代器、函数对象……

  • 怎么用最合适?

  • ......

那么,C++ 有办法轻松地学习吗?

市面上有不少讲解 C++ 的书,但 C++ 实在是太庞大了,相应的书都很厚,慢慢去“啃”、去“消化”实在是吃力。而且这些纸面上的知识,离实际的开发还有一定的距离,你难免会有这样的感慨:

“道理我都懂了,可用起来还是会犯怵,要是身边能有个人来指点一下该多好。”

是的,学习 C++ 最缺乏的就是一个“导师”,他能帮你跨越从课堂到现实的“鸿沟”,告诉你实际工作时会遇到哪些问题,又该怎么处理。

所以,为了解决大家的问题,我决定写一个能够担当“导师”或“引路人”角色的课程,于是在极客时间推出了《罗剑锋的 C++ 实战笔记》专栏,基于国内开发现状,我精选 C++11/14 最好用、最实用的特性,不讲语法细节和内部实现原理,直接上代码实战,告诉你该怎么用、不该怎么用,真正看懂、学会。

👆扫描上图二维码,免费试读

结算时,输入优惠口令「luoge8888

到手价 ¥58 ,立省 ¥41

仅限「前 200 人」有效

专栏里,我还会带你绕开 C++ 在语法细节、资源管理、库 / 工具等方面的陷阱,帮助你高效地写出更安全、更优雅的代码,真正解决 C++ 难学、难调试、难优化的问题。

我是谁?

我是罗剑锋,网名“Chrono”,奇虎 360 技术专家,Nginx/OpenResty 开源项目贡献者,熟悉各种网络应用协议,专注于 C/C++、Linux、高性能编程等领域,著有《C++11/14 高级编程》《Nginx 完全开发指南》《Boost 程序库完全开发指南》《OpenResty 完全开发指南》等畅销书。

我是如何讲解 C++ 语言的?

既然要当“引路导师”,那么,我只讲实实在在的 C++ 知识。整体课程设计,注重语言和库的“开发落地”,基本不讲语法细节和内部实现原理,重点谈使用时的注意事项和经验教训,并用实例促使你更多地应用“现代 C++”自然、直观的思维方式。

课程里的「示例代码」并不复杂,不需要你有太多的经验(1~5 年都可以),保证让你一眼就能看明白;此外,如果你是一名 C 语言工程师,也可以来看看,毕竟 C++ 与 C 是一脉相通的,相信你也会收获一些新思路和新工具。

在这里,我先给你总结了一套「C++ 核心知识图谱」:

整体分为五个模块:

一. 概论:从程序的生命周期和编程范式这两个独特的角度来审视 C++,帮你看清楚 C++ 复杂的本质,透彻理解 C++ 程序的运行机制。

二. 语言特性:精选 C++ 中的自动类型推导、智能指针、Lambda 表达式等几个重要特性,学会惯用法,消灭代码里的隐患,帮你写出高效、清晰、安全的代码。

三. 标准库模块:详细介绍最核心的四个部分,即字符串、容器、算法和并发,让你用好这个最基本的库,学会泛型编程,提高程序的运行效率。

四. 第三方库模块:介绍 C++ 标准之外的一些第三方工具,带你一起实现序列化、网络通信和性能分析等功能,解决实际开发中遇到的常见问题。

五. 总结模块: 结合 C++ 来讲设计模式,手把手带你开发一个 C++ 服务端程序,帮你深入理解在项目中,如何更高效地使用 C++ 写出更安全的代码。

此外,我还会跟你聊些 C++ 之外的东西。包括经典的学习资料、提高工作效率的工具等,让你在掌握核心硬技能的同时,还能拓宽知识面。

学了本专栏,你将获得:

  • C++11/14 核心特性的代码实战

  • 标准库的 4 大核心工具详解

  • C++ 常见陷阱及其解决方案

  • 手把手带你开发一个服务端应用

这一次,我会把 C++ 拉下“神坛”,让它真正好学、好用。1 分钟看看目录,相信会找到你想要的。

限时订阅福利

1、早鸟优惠 ¥68,原价 ¥99,结算时,输入优惠口令:「luoge1111」,到手价 ¥ 58,立省 ¥41 ,仅限「前 200 人」有效

2、订阅后分享海报,每邀请一位好友订阅,可得 ¥24 返现,多邀多得,上不封顶。

3、新人特惠仅需 ¥19.9

👆扫描上图二维码,免费试读

温馨提示:

订阅后可通过「极客时间 App」或「极客时间小程序」我的 - 已购,学习已订阅的专栏。   


👇点击「阅读原文」

输入优惠口令「luoge1111」

最低价 ¥58 入手,仅限前 200 人

登录查看更多
0

相关内容

打怪升级!2020机器学习工程师技术路线图
专知会员服务
96+阅读 · 2020年6月3日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
229+阅读 · 2020年5月21日
算法与数据结构Python,369页pdf
专知会员服务
160+阅读 · 2020年3月4日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
83+阅读 · 2019年11月25日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
160+阅读 · 2019年10月28日
阿里技术专家:优秀工程师是怎样炼成的?
51CTO博客
8+阅读 · 2019年6月15日
如何快速入门TensorFlow ?丨极客时间
InfoQ
4+阅读 · 2019年1月8日
吃鸡手游竟然是Python写的?
机器学习算法与Python学习
6+阅读 · 2018年9月11日
各编程领域最好的入门书籍
程序猿
27+阅读 · 2018年7月29日
Python 如何快速入门?
大数据技术
11+阅读 · 2018年4月9日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
PPTV创始人姚欣:人工智能到底怎么赚钱?
从零基础成为深度学习高手——Ⅰ
计算机视觉战队
7+阅读 · 2017年12月7日
On Feature Normalization and Data Augmentation
Arxiv
14+阅读 · 2020年2月25日
Arxiv
7+阅读 · 2018年1月21日
VIP会员
相关VIP内容
打怪升级!2020机器学习工程师技术路线图
专知会员服务
96+阅读 · 2020年6月3日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
229+阅读 · 2020年5月21日
算法与数据结构Python,369页pdf
专知会员服务
160+阅读 · 2020年3月4日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
83+阅读 · 2019年11月25日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
160+阅读 · 2019年10月28日
相关资讯
阿里技术专家:优秀工程师是怎样炼成的?
51CTO博客
8+阅读 · 2019年6月15日
如何快速入门TensorFlow ?丨极客时间
InfoQ
4+阅读 · 2019年1月8日
吃鸡手游竟然是Python写的?
机器学习算法与Python学习
6+阅读 · 2018年9月11日
各编程领域最好的入门书籍
程序猿
27+阅读 · 2018年7月29日
Python 如何快速入门?
大数据技术
11+阅读 · 2018年4月9日
Python为啥这么牛?
Python程序员
3+阅读 · 2018年3月30日
PPTV创始人姚欣:人工智能到底怎么赚钱?
从零基础成为深度学习高手——Ⅰ
计算机视觉战队
7+阅读 · 2017年12月7日
Top
微信扫码咨询专知VIP会员