下载APP
关闭
讲堂
部落
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者

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

2020-02-14 吴咏炜
现代C++实战30讲
进入课程

讲述:吴咏炜

时长05:54大小5.41M

你好,我是吴咏炜。
从去年八月底极客时间第一次找我到现在,一眨眼居然差不多半年了,时间过得也真是飞快。终于结束了这段旅程,感到轻松,感到欣然,也感到有丝丝遗憾。
轻松,是因为终于结束了被人“追债”的日子😝。记得最初我们的计划是一周拿出十几小时的时间来写专栏,但从实际结果来看,这更接近我写一篇文章所需要的时间。“后果”就是我的业余时间近乎全部搭进去了,即使我的家庭领导(你懂的),已经赦免了我的家务工作,但到了专栏更新后期,熬夜突击也在所难免。
欣然,是因为我发现写作这个过程不仅对他人有益,对我自己的知识体系也是一个极好的梳理。写作的原初目的当然是分享,看到有人能觉得我写的东西可以带来帮助,这就是一件很快乐的事。同时,写作也是写给自己,可以将知识形式化、系统化、具象化。在这个过程中,很容易发现自己的问题:我也修正了自己的一些错误的见解,部分靠自己的再学习,部分靠他人的反馈。你也应该试试这个方法,多输出、多分享,在交流中共同进步。
遗憾,是因为这个专栏我再努力,也只能覆盖 C++ 的部分重要特性。C++ 的功能要写全,恐怕得用上至少 100 讲;如果要做到对初学者友好,200 讲够不够都是个问题。但就目前的专栏定位来讲,也只能是这种以点带面的方式,引出一些最重要的 C++ 学习方向了……
综合来说,对于最后的成品,我还是满意的。它可以称得上我 2019-2020 的跨年心血之作——里面的内容,从文字到代码到插图,都凝结着我的辛勤和汗水。
虽然不能保证我讲述的内容完全没有错误,但我能担保内容中没有任何我已知的错误。虽然不能担保我提供的代码完全没有 bug,但我至少可以保证,我写代码和写正文是一样的正式和规范(甚至更认真),并且但凡略长的代码,我都已经仔仔细细地测试过。事实上,在查阅资料的过程中,我还看到了一些 C++ 之父的代码错误——显然,由于这种或那种的原因,他没有测试他的所有代码——而即使 C++ 之父,也做不到直接写下的代码没有 bug😈。
虽然之前已经说过,但在结束之前,我还是要再重复强调一下,如果学习专栏时遇到问题,该怎么办。
由于定位和篇幅,你不可能通过这个专栏从无到有地学会 C++,也不可能通过这个专栏从了解 C++ 变成精通 C++——后者恐怕也没有专栏能做得到。我能做到的,是给你一些指引,给你一些方向,给你分享我在这个方向上的心得和你可以进一步学习的资料。正如我在 [开篇词] 里说的,我会教你的,是让你知道某个 C++ 的功能为什么存在和应该在什么情况下使用——这是目前外面的参考资料中比较缺的。真正的熟练掌握,靠的还是你自己。“师父领进门,修行在自身。”前人不我欺也。
此外,如果你觉得有没完全看明白的地方,你应该反复看,或者过几天再重新看。根据目前的评论我发现,读漏我正文内容的同学还是有一些的——这应该是读第一遍没完全吃透的结果。这个问题不怨你,也不怨我,因为这是学习过程中的自然现象。如果一本教科书,有人读一遍之后可以全部掌握其中的内容,那要么是内容太简单了,要么他是个天才。对于大部分不是天才的我们,需要认识到这是个正常的学习过程,无需担忧和焦虑。我们需要的只是努力前行——旅程就是一个脚步一个脚步地走下来的。
最后的最后,感谢你们,我的读者!不管是你们的鼓励,还是你们的批评,都是我前进的动力,激励我把这个专栏写得更好。即便是你们提的问题,也让我明白了哪些地方我没有阐释得足够透彻。希望如果能有下次机会,我能写得更完美一点,来回报你们对我的信任和对 C++ 的热爱。
不知道为什么,写 C++ 的时候,我常常想起这首老歌:
我来唱一首歌古老的那首歌
我轻轻地唱你慢慢地和
C++ 虽然有点古老了,但在新世纪,它仍然给人历久弥新的感觉。为了理想,历经艰苦的日子是必须的,但希望我们不必哭泣,希望我们都可以欢笑着实现自己的梦想。
哦,对了,虽然 C++ 不是纯面向对象的语言,但在某些特殊的日子里,比如今天,我还是要赞美面向对象一下😂。纯代码的人生还是不完备的。所以,祝一句,情人节快乐。
我是吴咏炜,我们后会有期!
unpreview
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
上一篇
加餐 | 部分课后思考题答案合集
 写留言

精选留言(25)

  • 2020-02-14
    非常感谢老师的付出,我本人通读了一遍专栏,感觉太有料了。打算第二遍再更加认真的阅读加实操。节日快乐!
    展开

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

    3
  • 2020-02-25
    看了你的专栏,我确认我的C++水平还很低
    展开

    作者回复: 只是有很大的学习提高空间而已。😝

  • 2020-02-24
    想说的话太多,最想说的只有:期待老师的下一个课程(老师的家庭领导允许的话)!
  • 2020-02-21
    再见老师,老师再见
    展开

    作者回复: 😉

  • 2020-02-19
    老师,我最近看到某看源代码,里面这样写 A * a = new A()

    作者回复: 啥问题呢?这语句合法(定义指针变量a,用堆上生成的对象指针来初始化),虽然不鼓励大家用裸指针和写 new/delete 了。

  • 2020-02-19
    虽然有点掉队,但是老师的专栏真的真的很不错,给我指引方向,不用自己闷头学
    期待老师新作
    展开

    作者回复: 从你的评论看,你的功底很不错啊。

    学习不赶时间。😁

  • 2020-02-18
    吴老师,最后请教一个问题,C++程序运行崩溃后,该程序内对象的析构函数会被调用吗?

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

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

    详情参见:

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

  • 我掉队了老师
    展开

    作者回复: 没事没事。长跑不求快,这还不是真正的终点呢。

    1
  • 2020-02-16
    非常非常感谢吴老师!

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

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

    希望吴老师继续分享c++的小伙伴们把我的评论顶起来:)
    展开
  • 2020-02-14
    吴老师讲得非常好👍,感觉意犹未尽啊
    展开

    作者回复: 剩下的要靠自己来探索了。☺️☺️☺️

  • 2020-02-14
    感谢老师,感谢极客时间,情人节快乐,后会有期!!!

    作者回复: 😇

  • 2020-02-14
    感谢辛苦付出,省了不少时间,等合适时机还得再来一遍

    作者回复: 多练习就行。

  • 2020-02-14
    从到到尾跟下来了,感谢老师,收货很多
    展开

    作者回复: 提了很多问题,学习得也辛苦了。😂

  • 2020-02-14
    感谢
    展开

    作者回复: 😇

  • 2020-02-14
    感谢老师的辛苦付出!专栏内容值得反复学习思考!通过这个专栏也让我感受到了c++这门“古老”语言新的活力,期待更多新语言特性的加入
    展开

    作者回复: 🤝

  • 2020-02-14
    感谢老师
    展开

    作者回复: 😇

  • 2020-02-14
    吴老师辛苦了!祝节日快乐!领导(你懂的)加餐!😁
    展开

    作者回复: 节日快乐!

    领导上班未归,在家办公的要负责热饭。👻

  • 2020-02-14
    感谢老师,从专栏里面学到了很多东西,从入门到出门了...今年计划把老师推荐的书看几本,再好好构建一下体系,争取今年再入门一次..
    展开

    作者回复: 不用谦虚,我觉得你也可以算是个老手了。

  • 2020-02-14
    感谢老师,有些内容真的需要回头反复看
    展开

    作者回复: 😊 有问题还可以继续提。

  • 2020-02-14
    老师辛苦啦。
    展开

    作者回复: 如果一路全学完了,你也不容易。🤣