自有类型与借用类型
在根据Rust的所有权系统使用变量的时候,值通常会发生移动来改变其拥有者,这通常总是适用于Rust自有类型,但是Rust中的借用类型的表现就不一样了,因为在这些类型中存放的实际上是另一个内存区域的地址,而借用类型的变量一般并不拥有它所指向的那一片内存区域。这种行为上的区别,就构成了Rust中两种不同的类型:自有类型和借用类型。
在根据Rust的所有权系统使用变量的时候,值通常会发生移动来改变其拥有者,这通常总是适用于Rust自有类型,但是Rust中的借用类型的表现就不一样了,因为在这些类型中存放的实际上是另一个内存区域的地址,而借用类型的变量一般并不拥有它所指向的那一片内存区域。这种行为上的区别,就构成了Rust中两种不同的类型:自有类型和借用类型。
可能是比较智能的高级语言用的习惯了,在突然接触到Rust中比较底层的概念和用法的时候,就十分的不适应,分分钟感觉自己的基础知识已经完全的不知道被自己丢哪儿去了。而且看着Rust中一个泛型套一个泛型的去使用一段内存,把一段内存传来传去,真的是不断的感慨那些“省心”的高级语言帮我们私底下办了多少的事情。但是最令人恼火的是,自以为按照Rust的行为准则编写的程序,被编译器报了无数的错误,而且还一时半会儿想不出来自己到底哪儿错了。
在感慨了一段时间以后,我决定把Rust中这些繁琐的东西,集中记录一下,也为自己以后的那些程序铺铺路。
Rust是一门新颖的系统编程语言,与传统的C/C++不同的是,Rust提供了更加完善和安全的内存管理机制。这也是Rust语言被熟知的天然内存安全和可靠并发的特征。Rust在实现这一系列特征的基础就在于其基于所有权(Ownership)、转移(Move)和借用(Borrow)机制打造的类型系统。但是这套机制系统的引入,却被很多人认为极大的提升了Rust的学习曲线。