码迷,mamicode.com
首页 > 编程语言 > 详细

effective c++学习笔记条款17-19

时间:2016-07-31 17:43:30      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

条款17:以独立语句将New对象放置入智能指针。

1、以独立语句将newed对象放置入智能指针内,如果不这样做,一旦异常被抛出,有可能导致难以察觉的资源泄露。

void name(shared_ptr<管理对象类型>(new 管理对象类型),其它函数)),New被分配内存不一定马上放入管理对象,因为有其它函数干扰,这不是独立语句。

 

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

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

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

3、“阻止误用“的方法包括建立新类型,限制类型上的操作(年月日,函数接口代替对象多文件初始化),束缚对象值(合理范围),以及消除客户的资源管理责任。

4、shared_ptr指针支持定制类型删除器。这可以防范DLL问题,可被用来自动解除互斥锁(条款14)等等。

 

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

1、新type的对象应该如何被创建和销毁--(构造函数和析构函数)【内存分配函数和释放函数】

2、类型的初始化和对象的赋值有怎么样的差异?

3、新类型如果以值传递,意味着什么?

4、什么是新类型的合法值?

5、新类型需要配合某个继承体系吗?(virtual)

6、你的新类型需要怎么样的转换(explicit)(隐式显式转换函数)

7、什么样的操作符合函数对新类型是合理的。

8、什么样的标准函数应该驳回?

9、谁该取用新类型的成员(private,public,protect)

10、什么是新类型的未声明接口?(效率,异常)

11、你的新类型有多么一般化(templateclass,class)

12、你真的需要一个新类型吗(用多个函数或者template替代)

 

effective c++学习笔记条款17-19

标签:

原文地址:http://www.cnblogs.com/7-29/p/5723329.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!