结束语 | 终点已达,行程还要继续

你好,我是吴咏炜。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

精选留言

  • even

    2020-02-25 16:50:05

    看了你的专栏,我确认我的C++水平还很低
    作者回复

    只是有很大的学习提高空间而已。😝

    2020-02-25 19:33:23

  • EricHu

    2020-02-18 16:29:41

    吴老师,最后请教一个问题,C++程序运行崩溃后,该程序内对象的析构函数会被调用吗?
    作者回复

    不会。崩溃时程序是直接退出的,不会执行任何清理代码。操作系统仍然会回收操作系统管理的资源,如内存和文件句柄。

    扯略远点,当程序不是因为非法操作崩溃,而是因为异常没有捕捉,或者noexcept的代码里抛出了异常,或者处理异常时又发生了异常,此时析构函数一般也一样不会调用。但这时系统会调用 std::terminate。你可以自己注册一个 terminate_handler 来做一些清理工作。

    详情参见:

    https://en.cppreference.com/w/cpp/error/terminate

    2020-02-18 22:48:29

  • milley

    2020-02-14 00:20:40

    非常感谢老师的付出,我本人通读了一遍专栏,感觉太有料了。打算第二遍再更加认真的阅读加实操。节日快乐!
    作者回复

    哇,零点刚出头就来评论了。你牛的。今天就不要全顾着学习了😂。

    2020-02-14 09:45:29

  • 黄骏

    2022-05-29 14:36:54

    专栏结束2年后,项目开发要用c++17/20,感觉比刚开始看的时候一头雾水要强不少。结合实际项目课程中的知识和技巧理解就更为深刻了。
    作者回复

    👍

    没有用起来的知识不是真正掌握了的知识。😎

    2022-05-30 13:37:21

  • 禾桃

    2020-02-16 23:11:32

    非常非常感谢吴老师!

    每篇文章我都多了好多遍,虽然还是不能完全理解,但你的代码,以及阐述问题的角度,让我受益匪浅。

    真的希望老师可以继续分享你的知识,让c++变得不再那么。在中文环境里,很难看到这么好的知识分享。

    希望吴老师继续分享c++的小伙伴们把我的评论顶起来:)
  • undefined

    2021-06-01 14:13:03

    而即使 C++ 之父,也做不到直接写下的代码没有 bug

    😂,学会了,这就用来甩锅(逃
    作者回复

    是告诉你测试的重要性……😜

    2021-06-03 14:47:31

  • 三味

    2020-02-24 10:05:26

    想说的话太多,最想说的只有:期待老师的下一个课程(老师的家庭领导允许的话)!
  • 中年男子

    2020-02-19 12:29:25

    虽然有点掉队,但是老师的专栏真的真的很不错,给我指引方向,不用自己闷头学
    期待老师新作
    作者回复

    从你的评论看,你的功底很不错啊。

    学习不赶时间。😁

    2020-02-19 13:43:08

  • Vackine

    2020-02-14 09:14:07

    从整个语音节奏发音,到文章代码格式真的不能太赞!!感谢吴老师,这个专栏肯定要来回反复持续学习💪💪
    作者回复

    谢谢支持。🙏

    2020-02-14 13:33:23

  • Mmm

    2023-09-30 15:45:28

    吴老师,您好,首先非常感谢您!现代C++编程实战,我反复看了十遍以上!自己最大的变化是突然发现cpp网站的demo我基本上都可以看懂了,很多开源项目的代码大部分可以看懂了!说句真心话,不是你呕心沥血的文章,我自学可能还没入门就放弃了!再次感谢您!期待您的C++新作品,40来篇看得不过瘾,再来点吧吴老师!!!
    作者回复

    非常感谢🙏😇

    2023-10-07 07:57:30

  • 记事本

    2020-12-10 20:51:37

    不能做家务的程序员不是好老师,哈哈哈😊
  • fei

    2022-07-09 13:36:22

    原来觉得自己还算知道C++的,读了这个专栏才知道自己什么也不懂。
  • V万能的小黑V

    2022-03-31 08:44:36

    老师辛苦了,我读了两遍了,准备再读一遍,每次读都有新的领悟。
    作者回复

    看起来学得也很辛苦。😂🫣

    2022-04-02 15:20:18

  • Geek_783766

    2021-07-13 15:39:53

    初读再次感慨 C++ 的博大精深。专栏值得常常再看一遍。感谢老师。
    作者回复

    😇🙏

    2021-07-13 23:11:36

  • 大喵

    2021-04-13 20:37:34

    谢谢老师,还没看完,大部分理解都不深刻,还要二刷三刷,我觉得正如老师说的,以点带面,很有料
    作者回复

    我也在不断学习。一起努力💪。

    2021-04-15 08:12:55

  • 旺旺

    2021-02-25 18:59:41

    最后唱的歌不错,有点意思。
  • 邵年紧时

    2020-12-04 08:21:55

    来听吴老师的演讲啦!
    作者回复

    谢谢������

    2020-12-06 15:20:32

  • hey

    2020-04-10 20:36:33

    求助 vs中根据输入的名字自动生成对应的类文件及对应的其他两个文件 有办法吗 vs以外的工具生成也行
    作者回复

    对不起,这个问题很不明确,我不知道你到底想问啥,也没法回答。

    2020-04-11 00:14:59

  • 小虾米

    2020-03-16 08:41:11

    感谢老师
  • 百年

    2020-03-07 14:59:12

    希望老师再开一个c++与python交互的课程!