一、cross-DLL-problem
这个问题发生于“对象在动态连接程序库(DLL)中被new创建,却在另一个DLL内被delete销毁”。在许多平台上,这一类“跨DLL之new/delete成对使用”会导致运行期错误。使用tr1::shared_ptr就不会有这个问题。
二、总结
1.好的接口很容易被正确的使用,不容易被误用。你应该在你的所有接口中努力达成这些性质。
2. 促进正确使用的方法包括接口的一致性,以及与内置类型的行为兼容。
3.阻止误用的办法包括建立新类型、限制类型上的操作,束缚对象值,以及消除客户的资源管理责任。
4.tr1::shared_ptr支持定制性删除器(custom deleter)。这可防范cross-DLL-problem问题,可被用来自动解除互斥锁(mutexes)等等。