effective c++ 19 设置class犹如设计type
大约 1 分钟
effective c++ 19 设置class犹如设计type
哎,该讲也是一个非常宽泛的话题。需要程序员在工作中不断积累。作者在本节中也没有举任何的例子,本节的话题实在太大, 本人的建议就是去多看看优秀的开源项目, 看看别人是如何设计类的,看的多了自然就会有进步。
分析
当你需要设计一个新的type时,你可以思考下面的一些问题。
- 新type的对象应该如何被创建和销毁
- 对象的初始化和对象的复制应该有什么样的差别。
- 新type的对象如果被passed by value,意味着什么?
- 什么时新type的"合法值"。
- 你的新type需要配合某个继承体系吗?
- 你的新type需要什么样的转换?
- 什么样的操作符和函数对此新type而言是合理的?
- 什么样的标准函数应该驳回?
- 什么是新type的"未声明接口"?
- 你的新type有多么一般化?
- 你真的需要一个新type吗?
当然,思考上面的问题时很需要时间的。在实际工作中,应根据自己的情况灵活变通。如果开发预留时间长,或者是参与开源项目的设计,应该对上述的每一条问题都尽可能地思考。 然后更多的开发工作并不会预留很多的时间, 因此可以酌情思考上述问题。
总结
- Class的设计就是type的设计。在定义一个新的type之前,请确定你已经考虑过本条款覆盖的所讨论的主题。
Loading...