所有权
所有权、借用和切片的概念是Rust可以在编译时保证内存安全的关键所在。
所有权规则:
Rust中的每一个值都有一个对应的变量作为它的所有者
在同一时间内,有且仅有一个所有者
当所有者离开自己的作用域时,它持有的值就会被释放掉,走出作用域时,自动调用drop函数
move - copy
使用包含特定规则的所有权系统来管理内存,这套规则允许编译器在编译过程中执行检查工作,而不会产生任何的运行时开销
内存是通过一个所有权系统来管理的,其中包含一组编译器在编译时检查的规则。
当程序运行时,所有权特性不会减慢程序的运行速度。
所有权解决的问题:
跟踪代码的哪些部分正在使用heap的哪些数据
最小化heap上的重复数据量
清理heap上未使用的数据以避免空间不足
一旦了解了所有权,不需要经常去想stack或heap
Last updated