C/C++程序员视角下的Rust所有权机制
前言
题图:Kaiserreich 壁纸
一师因一僧问曰:“如何是道?”
师曰:“正眼前是道。”
“如何我不自见?”
“汝自虑故。”
“师知之否?”
师曰:“汝但见二分:言‘我不自见’、‘师见之’,汝目障矣。”
“无我无你,可得见否?”
“无我无你,谁欲见之?”
在控制变量/对象生命周期防止泄漏上,C++ 基于 C 延伸出了移动语义和智能指针/内存池 GC 这一套方案。然而 Rust 却给出了另一套令人耳目一新的方案,借助编译期静态分析创造了一个虽然有很多限制但是完全“安全”的世界。为我们揭开了一面放弃部分编程自由换来更好的编译期优化的全新 tradeoff。本文旨在为C/C++ 程序员介绍Rust的所有权机制。不论读者了解Rust与否都可以愉快的阅读这篇文章,一起思考安全和自由的边界。