Drop
特质只有一个方法:drop
,当对象超出作用域时会自动调用。 Drop
特质的主要用途是释放实现者实例拥有的资源。
Box
、Vec
、String
、File
和 Process
是一些实现了 Drop
特质以释放资源的类型示例。 Drop
特质也可以为任何自定义数据类型手动实现。
以下示例在 drop
函数中添加了一个控制台打印,以声明何时调用它。
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX