KlesaOff 最近的时间轴更新
KlesaOff

KlesaOff

V2EX 第 603247 号会员,加入于 2022-11-24 18:34:26 +08:00
今日活跃度排名 10538
KlesaOff 最近回复了
@tedzhou1221 写得挺实在的,我之后按照这个思路来判断相关场景
这文章是你写的吗?确实能补充很多书/教程不涉及的内容
@PTLin 我本想业余学 rust ,然后自己实现一些本地小项目满足个人学习和使用,然后学下 bevy 弄点小玩意加深语言理解并保持驱动力,但目前确实出乎意料,因为之前一次看教程时都没有注意到这次的问题
@PTLin 老实说你写的我也看不是太明白
@wjx0912
你好,可以看我 7 楼发的,你注释里说 let m0 时 v 、m 都不可用看来是错的,这时 m.1 应该是可以用的( v.1 确实不行),哪怕 m0 的使用还没结束。
@w568w
看了你的例子,我开始以为关键是生命周期:another_mut_a 的生命周期被 mut_a 包括在内,而 mut_a 又被 a 包括,所以代码不出错。
我刚刚把我主楼最后代码的变量创建换个位置,试了试下面这个代码,也能正常运行不报错
```rust
fn main() {
let mut v = (136, 139);
let m = &mut v;
let m1 = &mut m.1;
m.0 = 137;
*m1 = 42;
println!("{:?}", v)
}
```
我本来以为在使用 m1 之前访问了 m.0 ,相当于 m1 和 m 的生命周期重叠了一部分,所以应该报错。
但事实没有,而如果我在 m.0 和*m1 之间加上一句`println!("{:?}", m);`,就会报错。
我想,按照书中的概念,v 是所有权树的父节点,v.0 和 v.1 是其子节点,有了父节点的&mut 后,可以在此基础上&mut 子节点;使用时只要使用&mut 子节点时,若使用的子节点之间生命周期没有重叠,就能够正常用(就像本楼例子和主楼最后);但如果在&mut 子节点生命周期没结束时直接使用&mut 父节点,就会因为生命周期重叠导致同时有两个方式访问同一个&mut ,所以会报错。
你那个例子的感觉像是生命周期正好层层被包住所以没有冲突,不知道我这样理解对不对?
315 天前
回复了 MajestySolor 创建的主题 硬件 国产厂商在价格战方面是真的太吓人了
国产外设确实便宜,但是不太喜欢 vt9pro 的模具,买了个类蝰蛇 v3 的攻击鲨 r1 ,差不多 80 元,性能类似 g304 ,挺满意的。
键盘有什么键程短按起来轻快的吗?之前静电容卖掉了换了个灰木轴键盘,感觉有点沉了,而且按着有些震手
321 天前
回复了 txtz 创建的主题 职场话题 2024 应届,私企 还是 银行?求教各位大佬
和你同届情况类似,华子是二线城市,薪资和你一样;银行不是农行,是另一个国有行的数据中心,钱可能比农行还少点。我选了后者,主要是图一个有保障、不那么辛苦,钱在二线怎么样都够了
2023-08-31 09:11:18 +08:00
回复了 justincnn 创建的主题 Android android 上除了 kiwi 外,有其他浏览器推荐么?
via 目前用着挺好,但是它主页图标居然只能显示网页首字母,例如谷歌就是大写的 G ,而不能显示谷歌图标。可明明设置里可以选择“优先图标”的,请问各位有什么办法让网页的图标生效吗?
2023-08-01 20:41:07 +08:00
回复了 z1645444 创建的主题 程序员 蹲一款对话型的效率工具
我也有这种想法,需要一个功能非常简单的记录消息的软件,功能就像是和自己发短消息一样。
感觉可以直接写一个命令行工具,也无所谓什么界面了
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2814 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 13:06 · PVG 21:06 · LAX 05:06 · JFK 08:06
Developed with CodeLauncher
♥ Do have faith in what you're doing.