- 博客(13)
- 收藏
- 关注
原创 学习rust第三天--引用与借用
在函数reference_active(&mut ss)调用参数时加入 &mut ,即可实现借用,但是借用有很大的限制,如果对一个参数进行借用,那么这个参数就不能被引用。在使用借用之后,不能对相同参数进行引用,因为在对s产生借用了之后,可能会改变s指向的堆内容,而在借用之前就已经对s进行引用了,可能会使引用的数据该变。函数reference的入参指向了s1的指针接着指向了s1在堆上的内容,s并没有拥有s1的所有权,只是引用了s1的数据内容。若需要引用的数值可变,可以使用可变引用,即。
2023-08-24 14:43:15
158
1
原创 学习rust第二天--所有权
而在另一些语言中,程序员必须亲自分配和释放内存(比如c),rust通过所有权系统管理内存,编译器在编译时,会根据所有权规则进行一系列检查,如果违反了这些规则,则程序则不能成功编译。但是这样做会出现一个问题,就是在s1,s2离开作用域的时候,会有对堆上的内存空间进行两次回收清理的释放过程,会释放掉两次相同的内存地址,从而产生二次释放的错误。在rust中,为了确保内存安全,在代码 let s2 = s1后,系统会进行识别,自动将s1判定为无效,自然也就不会在离开作用域的时候释放内存空间。
2023-08-18 17:34:10
231
2
原创 学习rust第一天
rust中的浮点型通常指带小数点的数字,rust的浮点类型只分为两种,f32和f64,分别占32位和64位,rust中的浮点型默认为f64,因为在现代cpu中,f64与f32速度几乎一样,但是f64精度更高。在了解整型前,先知道每个变体都是分为有符号或者无符号的,并且有一个明确的大小,有符号代表和无符号表示是否可以为负数。元组可以包含不同类型的数值,但是元组的长度是固定的,一旦声名了长度就不会该变。与元组不同,数组的每一个元素数据类型都是相同的,而且数组的长度是固定的。提示:有符号数通常以补码形式存储。
2023-08-17 16:49:46
260
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人