《Effective C++》 读书笔记之四 设计与申明

简介:

《Effective C++》 读书笔记之四 设计与申明

条款18:让接口容易被正确使用,不易被误用。

重点:

  1. 好的接口很容易被正确使用,不容易被误用。你应该在你的所有接口中努力达成这些性质。

  2. “促进正确使用”的办法包括接口的一致性,以及与内置类型的行为兼容。

  3. “阻止误用”的办法包括建立新类型、限制类型上的操作,束缚对象值,以及消除客户的资源管理责任。

  4. tr1::shared_ptr支持定制型删除器。这可防范DLL问题,可被用来自动解除互斥锁等等。

2016-11-04 23:17:09

条款19:设计class犹如设计type。

设计class之前明确下面的问题:

  1. 新type的对象应该如何被创建和销毁?

  2. 对象的初始化和对象的赋值该有什么样的差别?

  3. 新type的对象如果被passed by value,意味着什么?copy构造函数用来定义一个type的pass-by-value该如何实现。

  4. 什么是新的type的合法值?

  5. 你的新type需要配合某个继承图系吗?与virtual有关

  6. 你的新type需要什么样的转换?

  7. 什么样的操作符和函数对此新的type而言是合理的?

  8. 什么样的标准函数应该驳回?那些正是你必须声明为private的。

  9. 谁该取用新type的成员?

  10. 什么是新type的“未声明接口”?

  11. 你的新type有多么一般化?如果真的很一般化,也就是定义的不是一个type,而是一整个types家族,那么应该定义一个新的template。

  12. 你真的需要一个新的type吗?



本文转自313119992 51CTO博客,原文链接:http://blog.51cto.com/qiaopeng688/1869659
相关文章
|
5月前
|
存储 程序员 C语言
c++primer plus 6 读书笔记 第四章 复合类型
c++primer plus 6 读书笔记 第四章 复合类型
|
5月前
|
编译器 C++
c++primer plus 6 读书笔记 第十章 对象和类
c++primer plus 6 读书笔记 第十章 对象和类
|
5月前
|
算法 小程序 IDE
c++primer plus 6读书笔记第一章预备知识
c++primer plus 6读书笔记第一章预备知识
|
5月前
|
编译器 C++
《Effective C++ 改善程序与设计的55个具体做法》 第一章 笔记
《Effective C++ 改善程序与设计的55个具体做法》 第一章 笔记
|
5月前
|
编译器 数据安全/隐私保护 C++
c++primer plus 6 读书笔记 第十三章 类继承
c++primer plus 6 读书笔记 第十三章 类继承
|
5月前
|
C++
c++primer plus 6 读书笔记 第十四章 C++中的代码重用
c++primer plus 6 读书笔记 第十四章 C++中的代码重用
|
5月前
|
C++
c++primer plus 6 读书笔记 第十一章 使用类
c++primer plus 6 读书笔记 第十一章 使用类
|
5月前
|
编译器 C++
c++primer plus 6 读书笔记 第八章 函数探幽0
c++primer plus 6 读书笔记 第八章 函数探幽0
|
5月前
|
编译器 vr&ar C++
c++primer plus 6 读书笔记 第七章 函数--C++的编程模块
c++primer plus 6 读书笔记 第七章 函数--C++的编程模块
|
5月前
|
C++
c++primer plus 6 读书笔记 第六章 分支语句和逻辑运算符
c++primer plus 6 读书笔记 第六章 分支语句和逻辑运算符
下一篇
无影云桌面