美文网首页
Exceptional C++ 读书笔记

Exceptional C++ 读书笔记

作者: ccsexyz | 来源:发表于2016-04-22 14:59 被阅读0次

一些重要概念

  • 异常安全 出现异常的情况下仍然能够正常运行,出现异常的情况下资源仍然能够被正确的释放,数据始终处于一致的状态
  • 异常中立 将所有的异常都转发给调用者

良好的编程习惯

  • 尽可能在成员初始值列表中对数据成员进行初始化
  • 永远不要让析构函数抛出异常
  • 异常安全性规则 在每个函数中,我们要将所有可能会抛出异常的代码单独放在一起,并且对这些代码进行安全处理,然后才能使用不会抛出异常的操作来修改和清理程序的状态
  • 我们应该优先考虑内聚性,努力使每段代码都只有单一的明确的功能

为什么pop操作返回值为空

如果pop像下面这样声明

template<typename T> T Stack<T>::pop(){}

假定这个函数本身是异常安全和中立的,我们考虑如下的调用代码

sometype t1(t.pop())
sometype t2;
t2 = t.pop(); //拷贝失败发生异常,由pop弹出的对象将永远丢失

所以为了解决这个问题,一个较好的办法是讲获取栈顶的操作与弹栈操作分开

Koeing查找规则

如果你在声明函数的时候使用了一个类,那么在查找正确的函数名字时,编译器将会在包含参数类型的名称空间中也进行函数名字的匹配

相关文章

  • 2020-03-11 c++ book

    exceptional c++ style 中文版more exceptional c++ 中文版exceptio...

  • 书签

    笔记 C++ PrimerEffective C++Exceptional C++Effective STLC++...

  • 书签

    笔记 C++ PrimerEffective C++Exceptional C++Effective STLC++...

  • Exceptional C++ 读书笔记

    一些重要概念 异常安全 出现异常的情况下仍然能够正常运行,出现异常的情况下资源仍然能够被正确的释放,数据始终处于一...

  • 【Exceptional C++】索引

    本书内容取自作者博客的gotw栏目,即Guru of the Week,通过问答方式更深入地挖掘C++语言特性适用...

  • 当下编程之道:C++屹立不倒

    正好我一个月前看到一个视频,这个演讲视频还比较著名,这个演讲者是Exceptional C++和C++ Codin...

  • 【Exceptional C++(27)】Bool

    问题 如果没有bool类型,能用已有的数据类型达到相同效果吗? 解答 不能,bool型和true,false无法通...

  • 【Exceptional C++(1)】Iterators

    问题 下面代码中有至少四个与iterator相关的问题,找出来 说明 std::copy拷贝[first,last...

  • 王者编程: Why C++?

    序言 前几个月前看到一个视频,这个演讲视频还比较著名,这个演讲者是 *Exceptional C++ * 和 C+...

  • 王者编程: Why C++?

    序言 一个月前看到一个视频,这个演讲视频还比较著名,这个演讲者是 *Exceptional C++ * 和 C++...

网友评论

      本文标题:Exceptional C++ 读书笔记

      本文链接:https://www.haomeiwen.com/subject/ishwlttx.html