在阅读有关该特征的过程中,我发现Rust 的方法和 C++ 中的析构函数Drop之间有很多相似之处。drop两者有什么区别?
实际上,没有明显的差异。两者都用于在适当的时候清理某种类型的资源。
无论该特征的实现如何,资源都会被清理
Drop,不是吗?
是的。编译器本质上会自动实现Drop程序员没有实现的任何类型。这种自动实现只是drop依次调用每个成员变量。
如果您分配 Rust 不知道的资源,例如直接从分配器分配内存,Rust 将不知道需要删除返回值或如何删除。这时候你就Drop直接实施。
也可以看看:
| 归档时间: |
|
| 查看次数: |
1348 次 |
| 最近记录: |