• 廖熊猫
    2020-01-15
    有的语言里面没有try catch,统一使用类似optional的结局方案,比如Rust里面的Err,Haskell中对应的应该是Either类型,这些都是处理可以恢复的错误,不可恢复的直接就让程序崩了。
    lift_optional让我想起来被Haskell支配的恐惧 (Just (+) ) <*> Just 41 <*> Just 1
    不知道老师后面会不会讲到monad😂

    作者回复: optional 对应的是 Maybe 吧。expected 比较像 Either。

    不会讲 monad。这个即使专门讲函数式编程也要比较后面呢。

    
    
  • tt
    2020-01-15
    老师,听了您的课后,觉得现在C++标准提案有很多都是利用C++的语义和语法来写提升编程便利性的模板,是这样么?

    还有,一直不知道C++的异常是怎么实现的,还有这里说的异常处理的性能问题,有推荐的比较好阅读的参考文献么?

    作者回复: 是的。提高开发的友好程度,尤其是对新手的友好程度,一直是 C++ 委员会的目标。你应该发现虽然语言越来越复杂,但很多东西缺越来越好写了。

    异常的实现非常复杂。想了解的话需要花点力气。不过我倒是查到有篇还不错的中文文章,推荐一看:

    http://baiy.cn/doc/cpp/inside_exception.htm

    
    
我们在线,来聊聊吧