< 返回版块

sstudioer 发表于 2021-03-10 15:33

rust也会内存泄漏? https://blog.csdn.net/a457636876/article/details/112133109

我自己项目, 用什么语言无所谓;

目前主要学习C++, 用c++17 20之后, 发现这不是rust完全相同吗, rust更简单!
RAII, optional, tuple... clang 还未实现module;

那何必还学c++; 关于表达能力, 多写点代码和宏, 并不是什么大问题, 场景也不多;

想问下老手, 关于链表,声明周期这样的问题是否影响后续开发? 十分复杂吗? 主要担心这个;

Weak RefCell Rc 这些也好绕, 可能新手的缘故;

评论区

写评论
作者 sstudioer 2021-03-11 15:37

thanks;

👇
Aya0wind: 链表在safe rust里确实十分复杂,这玩意就是个跟借用规则背道而驰的东西,要完全safe,且实现很优雅的的链表,我敢说大部分rust使用者写不出来。 不过上unsafe就简单的多,unsafe的好写,上raw pointer跟C写起来差不多,写完包成safe的就ok,标准库里的链表容器也是上unsafe的。你需要别的类型的链表,比如N叉树,跳表之类的,都可以自己用unsafe实现,然后做好各种检查,封装一个safe的。Rust并不是杜绝unsafe的,该用还是得用,提高效率减少代码量。

Aya0wind 2021-03-10 18:59

链表在safe rust里确实十分复杂,这玩意就是个跟借用规则背道而驰的东西,要完全safe,且实现很优雅的的链表,我敢说大部分rust使用者写不出来。 不过上unsafe就简单的多,unsafe的好写,上raw pointer跟C写起来差不多,写完包成safe的就ok,标准库里的链表容器也是上unsafe的。你需要别的类型的链表,比如N叉树,跳表之类的,都可以自己用unsafe实现,然后做好各种检查,封装一个safe的。Rust并不是杜绝unsafe的,该用还是得用,提高效率减少代码量。

Mike Tang 2021-03-10 17:43

Rust的链表已经有大量的模板了,照着用就行了。 https://github.com/rust-unofficial/too-many-lists

Rust就是开始陡一点,后面就是青藏高原。

至少在前沿密码学领域这些新领域观察到的情况,以前是用C++来实现的,现在同样条件下,都优先使用Rust来实现了。

chirsz-ever 2021-03-10 16:05

内存泄漏是安全的,Rust 还提供主动内存泄漏的方法:std::mem::forget

uno 2021-03-10 15:48

建议买一本《Rust编程之道》先过一遍吧,你问的问题大部分都已经有人讲了

1 共 5 条评论, 1 页