要点:防止客户错误使用接口的方法。
C++有函数接口、类接口和模板接口。理想情况下,如果使用接口无法实现客户期望的功能,则代码应无法通过编译;如果代码能通过编译,则应完成客户期望的功能。
设计不易出错的接口时需考虑客户可能会犯的错误,Meyers举了Date的例子。许多错误可以通过增加新的类型来防止,另一个方法是对类型进行限制,例如增加const。一致性是接口易于使用的一大特性,应该让接口的行为与基本类型如int一致。
任何需要客户记得先调用什么的接口容易被客户用错,Meyers举了shared_ptr的例子说明避免客户忘记delete的错误,shared_ptr还能解决在不同的DLL中new-delete的问题。
总之,防止客户误用接口的方法包括:
- 增加新类型
- 对类型进行限制
- 对值域进行限制
- 无需客户端管理资源。