所有权:谁拥有,谁释放
C 代码里早就有所有权。
只要一段内存需要 free,一个文件需要 fclose,一个句柄需要释放,就一定存在一个问题:谁负责最后把它释放掉。
C 的问题不是没有所有权,而是所有权通常不在类型里。它靠函数名、注释、调用约定和团队经验维护。Rust 的 ownership 做的事,就是把这些约定变成编译器能检查的规则。
阅读更多C 代码里早就有所有权。
只要一段内存需要 free,一个文件需要 fclose,一个句柄需要释放,就一定存在一个问题:谁负责最后把它释放掉。
C 的问题不是没有所有权,而是所有权通常不在类型里。它靠函数名、注释、调用约定和团队经验维护。Rust 的 ownership 做的事,就是把这些约定变成编译器能检查的规则。
阅读更多