古弓手 2024-07-06 pin住等于无法直接取&mut T,因为他是一个结构体,这样比如一些不安全的操作,mem::swap就无法对pin住的东西移动(编译器报错),然后对于pin<&mut T>来说由于pin还有&mut 都实现了deref 这样就无法取到T的数据(为什么,以后做视频),特别是在异步的时候实现future的时候,要展开成状态机,分配给线程来完全任务,需要大量移动,自引用的时候涉及到一些mem::swap,这个在标准库中很常见,比如说option的操作,所以用个这个保证安全。 ♥ 44 ↩ 1
Louis翔 2024-07-14 放两篇关于避免Pin的讨论文章 https://blog.yoshuawuyts.com/self-referential-types/ https://blog.yoshuawuyts.com/self-referential-types-2/ ♥ 1
来点牛 2024-07-06 cpp 很少见到 pin 是因为可以自己定义 move 行为吗,cpp 的 coroutine 也不需要 pin 是因为编译器直接把协程函数的变量扔堆上去了吗 ♥ 1 ↩ 3
Comments
pin住等于无法直接取&mut T,因为他是一个结构体,这样比如一些不安全的操作,mem::swap就无法对pin住的东西移动(编译器报错),然后对于pin<&mut T>来说由于pin还有&mut 都实现了deref 这样就无法取到T的数据(为什么,以后做视频),特别是在异步的时候实现future的时候,要展开成状态机,分配给线程来完全任务,需要大量移动,自引用的时候涉及到一些mem::swap,这个在标准库中很常见,比如说option的操作,所以用个这个保证安全。
♥ 44 ↩ 1
Pin唯一的作用是阻止你获得&mut T
♥ 19 ↩ 1
这个是所有权后遗症,作用是让编译器帮忙看着,这东西一移动就乱套了,如果不帮你看着,运行时出错你得费半天劲
♥ 9 ↩ 2
讲的思路特别清晰,视频制作非常精良。必须多多支持和你们这些优质博主,可以更有动力创作
♥ 6
up加油,音乐有点大
♥ 5 ↩ 3
Box直Pin
♥ 2
放两篇关于避免Pin的讨论文章 https://blog.yoshuawuyts.com/self-referential-types/ https://blog.yoshuawuyts.com/self-referential-types-2/
♥ 1
UP主加油!看好你噢~
♥ 1
为啥tmp_buf出了自己词法作用域地址还能被引用?borrow checker又更新了?[哦呼]
♥ 1 ↩ 9
cpp 很少见到 pin 是因为可以自己定义 move 行为吗,cpp 的 coroutine 也不需要 pin 是因为编译器直接把协程函数的变量扔堆上去了吗
♥ 1 ↩ 3
758522192 欢迎加群一起学习rust(备注加edt) rust嵌入式专用群:947963288(备注哪个视频找到的:vid)
Zed的字体和主题是什么呀,好好看,已三连
zed这种封闭编辑器非常坏
视频质量很高
UP主加油!看好你噢~
讲得很清楚
UP主加油!看好你噢~
UP主加油!看好你噢~
UP主加油!看好你噢~
bgm是什么()