你好,我是吴咏炜。

从去年八月底极客时间第一次找我到现在,一眨眼居然差不多半年了,时间过得也真是飞快。终于结束了这段旅程,感到轻松,感到欣然,也感到有丝丝遗憾。

轻松,是因为终于结束了被人“追债”的日子😝。记得最初我们的计划是一周拿出十几小时的时间来写专栏,但从实际结果来看,这更接近我写一篇文章所需要的时间。“后果”就是我的业余时间近乎全部搭进去了,即使我的家庭领导(你懂的),已经赦免了我的家务工作,但到了专栏更新后期,熬夜突击也在所难免。

欣然,是因为我发现写作这个过程不仅对他人有益,对我自己的知识体系也是一个极好的梳理。写作的原初目的当然是分享,看到有人能觉得我写的东西可以带来帮助,这就是一件很快乐的事。同时,写作也是写给自己,可以将知识形式化、系统化、具象化。在这个过程中,很容易发现自己的问题:我也修正了自己的一些错误的见解,部分靠自己的再学习,部分靠他人的反馈。你也应该试试这个方法,多输出、多分享,在交流中共同进步。

遗憾,是因为这个专栏我再努力,也只能覆盖 C++ 的部分重要特性。C++ 的功能要写全,恐怕得用上至少 100 讲;如果要做到对初学者友好,200 讲够不够都是个问题。但就目前的专栏定位来讲,也只能是这种以点带面的方式,引出一些最重要的 C++ 学习方向了……

综合来说,对于最后的成品,我还是满意的。它可以称得上我 2019-2020 的跨年心血之作——里面的内容,从文字到代码到插图,都凝结着我的辛勤和汗水。

虽然不能保证我讲述的内容完全没有错误,但我能担保内容中没有任何我已知的错误。虽然不能担保我提供的代码完全没有 bug,但我至少可以保证,我写代码和写正文是一样的正式和规范(甚至更认真),并且但凡略长的代码,我都已经仔仔细细地测试过。事实上,在查阅资料的过程中,我还看到了一些 C++ 之父的代码错误——显然,由于这种或那种的原因,他没有测试他的所有代码——而即使 C++ 之父,也做不到直接写下的代码没有 bug😈。

虽然之前已经说过,但在结束之前,我还是要再重复强调一下,如果学习专栏时遇到问题,该怎么办。

由于定位和篇幅,你不可能通过这个专栏从无到有地学会 C++,也不可能通过这个专栏从了解 C++ 变成精通 C++——后者恐怕也没有专栏能做得到。我能做到的,是给你一些指引,给你一些方向,给你分享我在这个方向上的心得和你可以进一步学习的资料。正如我在 [开篇词] 里说的,我会教你的,是让你知道某个 C++ 的功能为什么存在和应该在什么情况下使用——这是目前外面的参考资料中比较缺的。真正的熟练掌握,靠的还是你自己。“师父领进门,修行在自身。”前人不我欺也。

此外,如果你觉得有没完全看明白的地方,你应该反复看,或者过几天再重新看。根据目前的评论我发现,读漏我正文内容的同学还是有一些的——这应该是读第一遍没完全吃透的结果。这个问题不怨你,也不怨我,因为这是学习过程中的自然现象。如果一本教科书,有人读一遍之后可以全部掌握其中的内容,那要么是内容太简单了,要么他是个天才。对于大部分不是天才的我们,需要认识到这是个正常的学习过程,无需担忧和焦虑。我们需要的只是努力前行——旅程就是一个脚步一个脚步地走下来的。

最后的最后,感谢你们,我的读者!不管是你们的鼓励,还是你们的批评,都是我前进的动力,激励我把这个专栏写得更好。即便是你们提的问题,也让我明白了哪些地方我没有阐释得足够透彻。希望如果能有下次机会,我能写得更完美一点,来回报你们对我的信任和对 C++ 的热爱。

不知道为什么,写 C++ 的时候,我常常想起这首老歌:

我来唱一首歌古老的那首歌
我轻轻地唱你慢慢地和

C++ 虽然有点古老了,但在新世纪,它仍然给人历久弥新的感觉。为了理想,历经艰苦的日子是必须的,但希望我们不必哭泣,希望我们都可以欢笑着实现自己的梦想。

哦,对了,虽然 C++ 不是纯面向对象的语言,但在某些特殊的日子里,比如今天,我还是要赞美面向对象一下😂。纯代码的人生还是不完备的。所以,祝一句,情人节快乐。

我是吴咏炜,我们后会有期!