读书笔记 effective c++ Item 14 对资源管理类的拷贝行为要谨慎

1. 自己实现一个资源管理类  Item 13中介绍了 “资源获取之时也是初始化之时(RAII)”的概念,这个概念被当作资源管理类的“脊柱“,也描述了auto_ptr和tr1::shared_ptr是如何用堆资源来表现这个概念的。然而并不是所有资源都是在堆上创建的,对于这种资源,像auto...

读书笔记 effective c++ Item 13 用对象来管理资源

1.不要手动释放从函数返回的堆资源 假设你正在处理一个模拟Investment的程序库,不同的Investmetn类型从Investment基类继承而来, 1 class Investment { ... }; // root class of hierarchy of 2 3 // investm...

读书笔记 effective c++ Item 11 在operator=中处理自我赋值

1.自我赋值是如何发生的 当一个对象委派给自己的时候,自我赋值就会发生: 1 class Widget { ... }; 2 3 Widget w; 4 5 ... 6 7 w = w; // assignment to self、 这看上去是愚蠢的,但这是合法的,所以请放心,客户端是可以这么做的。...

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

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

读书笔记 effective c++ Item 3 在任何可能的时候使用 const

Const可以修饰什么?   Const 关键字是万能的,在类外部,你可以用它修饰全局的或者命名空间范围内的常量,也可以用它来修饰文件,函数和块作用域的静态常量。在类内部,你可以使用它来声明静态或者非静态的数据成员。对于指针来说,你可以指定指针本身是不是const,指针指向的数据是不是co...

More Effective C++ 读书笔记三

条款8:了解各种不同意义的new和delete 这里讲了3种new,分别是:new operator, operator new, placement new。 new operator最简单,它就是我们平时常用的new关键字,需要注意的是,它是不能被重载的。new operator的语义是先分配内...

Effective C++ 读书笔记之Part6.Inheritance and Object-Oriented Design

32.Make sure public inheritance models "is-a". 所谓的最佳设计,取决于系统希望做什么事,包括现在与未来。 需要解决的问题:其中关于两个assert都通过的地方有些疑惑。 总结: “public继承”意味着is-a。适用于base classes身上的每一...

Effective C++ 读书笔记之Part4.Design and Declarations

18. Make interfaces easy to use correctly and hard to use incorrrectly. 总结: 第一,好的接口很容易被正确使用,不容易被误用。你应该在你的所有接口中努力达成这些性质。 第二,“促使正确使用”的办法包括接口的一致性,以及与内置类型...

Effective C++ 读书笔记之Part3.Resource Management

13. Use objects to manage resources. 总结: 第一,为了防止资源泄露,请使用RAII对象,它们在构造函数中获得资源并在西沟函数中释放资源。 第二,两个常被使用的RAII class分别是tr1::shared_ptr和auto_ptr。前者通常是较佳选择,因为其c...

【读书笔记】备忘录模式翻译成C++了

  备忘录模式C++代码如下:/Files/cappuccino/MemorandumModelForC.rar 用到了友元,复习了一下友元,下面转载了一下友元的一些知识 转自:http://www.cppblog.com/twzheng/articles/21020.html 友元函数和友元类&n...

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