- Category
- 学习
Rust学习笔记(1)
本文介绍了Rust中判断变量所有权是否转移的“灵魂三问”法则,以及自动解引用的适用场景。
**所有权判断**:对于复杂类型(如String),若发生“裸体赋值”(`=` 直接赋值)、作为参数传递给函数(未加`&`)、或调用消耗自身的方法(如`into_...()`),则所有权转移,原变量失效。简单类型(如i32)则始终存活。此外,变量在离开其作用域`{}`时也会被销毁。
**自动解引用**:主要发生在两个场景:1)使用点操作符`.`调用方法或访问字段时,编译器会自动尝试解引用或加引用直到找到对应成员;2)函数传参时,若类型实现了`Deref`,`&T`会自动转换为`&U`(如`&String`转`&str`)。但在赋值、算术运算和模式匹配中,不会自动解引用,需手动处理。
简言之,所有权转移遵循明确规则,而自动解引用旨在方便方法调用和传参,但在可能影响逻辑正确性的操作中保持严格。
- 2025-12-27
- 24
- 0
- 0
- 26.4℃
百度AIGC一面面经
面试官迟到后,吐槽简历过于简略,建议将投稿中的高端论文内容补充进去以便其他部门捞人。随后考察了深度学习概念(如Attention、GRU、LSTM),其中LSTM部分回答不佳。现场手撕算法题“找出频率最高的k个单词,同频按字母排序”并通过。整体面试氛围较愉快,但结果未知。
- 2024-08-26
- 95
- 0
- 0
- 33.5℃