文章 2017-12-27 来自:开发者社区

Effective C++构造函数析构函数Assignment运算符

在看《Effective C++》这本书的过程中,我无数次的发出感叹,这他妈写得太好了,句句一针见血,直接说到点上。所以决定把这本书的内容加上自己的理解写成5篇博客,我觉得不管你是否理解这些条款,都值得你先记下来。下面的索引对应的是书中的章节。   11:如果class内动态配置有内存,请为此class声明一个copy constructor和一个assignment运算符 12:在co...

文章 2017-02-15 来自:开发者社区

读书笔记 effective c++ Item 9 绝不要在构造函数或者析构函数中调用虚函数

1.关于构造函数的一个违反直觉的行为 我会以重复标题开始:你不应该在构造或者析构的过程中调用虚函数,因为这些调用的结果会和你想的不一样。如果你同时是一个java或者c#程序员,那么请着重注意这个条款,因为这是c++同它们不一样的地方。 假设你已经有一个为股票交易建模的类继承体系,它可以买卖股票等。这些交易的可审计性很重要,所以每次交易对象被创建的时候,需要在审计日志中创建一个合适的记录。这看上去....

文章 2017-02-14 来自:开发者社区

读书笔记 effective c++ Item 8 不要让异常(exceptions)离开析构函数

1.为什么c++不喜欢析构函数抛出异常 C++并没有禁止析构函数出现异常,但是它肯定不鼓励这么做。这是有原因的,考虑下面的代码: 1 class Widget { 2 3 public: 4 5 ... 6 7 ~Widget() { ... } // assume this might emit an exception 8 9 }; 10 11 void doS...

文章 2017-02-13 来自:开发者社区

读书笔记 effective c++ Item 7 在多态基类中将析构函数声明为虚析构函数

1. 继承体系中关于对象释放遇到的问题描述 1.1 手动释放 关于时间记录有很多种方法,因此为不同的计时方法创建一个TimeKeeper基类和一些派生类就再合理不过了: 1 class TimeKeeper { 2 3 public: 4 5 TimeKeeper(); 6 7 ~TimeKeeper(); 8 9 ... 10 11 }; 12 13 class...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注