Update ch15-03-drop.md

pull/761/head
Orefa 8 months ago committed by GitHub
parent c89f94404d
commit f4040e0488
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -56,7 +56,7 @@
错误信息表明不允许显式调用 `drop`。错误信息使用了术语 **析构函数**_destructor_这是一个清理实例的函数的通用编程概念。**析构函数** 对应创建实例的 **构造函数**。Rust 中的 `drop` 函数就是这么一个析构函数。
Rust 不允许我们显式调用 `drop` 因为 Rust 仍然会在 `main` 的结尾对值自动调用 `drop`,这会导致一个 **double free** 错误,因为 Rust 会尝试清理相同的值两次。
Rust 不允许我们显式调用 `drop` 因为 Rust 仍然会在 `main` 的结尾对值自动调用 `drop`,这会导致一个 *double free* 错误,因为 Rust 会尝试清理相同的值两次。
因为不能禁用当值离开作用域时自动插入的 `drop`,并且不能显式调用 `drop`,如果我们需要强制提早清理值,可以使用 `std::mem::drop` 函数。

Loading…
Cancel
Save