rust也会内存泄漏? https://blog.csdn.net/a457636876/article/details/112133109
我自己项目, 用什么语言无所谓;
目前主要学习C++, 用c++17 20之后, 发现这不是rust完全相同吗, rust更简单!
RAII, optional, tuple... clang 还未实现module;
那何必还学c++; 关于表达能力, 多写点代码和宏, 并不是什么大问题, 场景也不多;
想问下老手, 关于链表,声明周期这样的问题是否影响后续开发? 十分复杂吗? 主要担心这个;
Weak RefCell Rc 这些也好绕, 可能新手的缘故;
1
共 5 条评论, 1 页
评论区
写评论thanks;
👇
Aya0wind: 链表在safe rust里确实十分复杂,这玩意就是个跟借用规则背道而驰的东西,要完全safe,且实现很优雅的的链表,我敢说大部分rust使用者写不出来。 不过上unsafe就简单的多,unsafe的好写,上raw pointer跟C写起来差不多,写完包成safe的就ok,标准库里的链表容器也是上unsafe的。你需要别的类型的链表,比如N叉树,跳表之类的,都可以自己用unsafe实现,然后做好各种检查,封装一个safe的。Rust并不是杜绝unsafe的,该用还是得用,提高效率减少代码量。
链表在safe rust里确实十分复杂,这玩意就是个跟借用规则背道而驰的东西,要完全safe,且实现很优雅的的链表,我敢说大部分rust使用者写不出来。 不过上unsafe就简单的多,unsafe的好写,上raw pointer跟C写起来差不多,写完包成safe的就ok,标准库里的链表容器也是上unsafe的。你需要别的类型的链表,比如N叉树,跳表之类的,都可以自己用unsafe实现,然后做好各种检查,封装一个safe的。Rust并不是杜绝unsafe的,该用还是得用,提高效率减少代码量。
Rust的链表已经有大量的模板了,照着用就行了。 https://github.com/rust-unofficial/too-many-lists
Rust就是开始陡一点,后面就是青藏高原。
至少在前沿密码学领域这些新领域观察到的情况,以前是用C++来实现的,现在同样条件下,都优先使用Rust来实现了。
内存泄漏是安全的,Rust 还提供主动内存泄漏的方法:
std::mem::forget
建议买一本《Rust编程之道》先过一遍吧,你问的问题大部分都已经有人讲了