effective c++ 19 设置class犹如设计type

程序员小x大约 1 分钟C++C++effective c++读书笔记

effective c++ 19 设置class犹如设计type

哎,该讲也是一个非常宽泛的话题。需要程序员在工作中不断积累。作者在本节中也没有举任何的例子,本节的话题实在太大, 本人的建议就是去多看看优秀的开源项目, 看看别人是如何设计类的,看的多了自然就会有进步。

分析

当你需要设计一个新的type时,你可以思考下面的一些问题。

  • 新type的对象应该如何被创建和销毁
  • 对象的初始化和对象的复制应该有什么样的差别。
  • 新type的对象如果被passed by value,意味着什么?
  • 什么时新type的"合法值"。
  • 你的新type需要配合某个继承体系吗?
  • 你的新type需要什么样的转换?
  • 什么样的操作符和函数对此新type而言是合理的?
  • 什么样的标准函数应该驳回?
  • 什么是新type的"未声明接口"?
  • 你的新type有多么一般化?
  • 你真的需要一个新type吗?

当然,思考上面的问题时很需要时间的。在实际工作中,应根据自己的情况灵活变通。如果开发预留时间长,或者是参与开源项目的设计,应该对上述的每一条问题都尽可能地思考。 然后更多的开发工作并不会预留很多的时间, 因此可以酌情思考上述问题。

总结

  • Class的设计就是type的设计。在定义一个新的type之前,请确定你已经考虑过本条款覆盖的所讨论的主题。
Loading...