1.内存安全性
Rust结构体在编译时强制执行所有权和借用规则,从而无需担心空悬指针和内存泄漏。C++则依赖于程序员对指针和内存管理的手动控制。
2.方法和成员函数
C++允许类成员默认可变。如果你需要不可变性,你必须明确地使用const关键词。而在Rust中,不可变性是默认的,可变性必须明确声明。
3.构造函数和析构函数
C++有构造函数和析构函数的概念,用于初始化和清理资源。Rust则使用所有权系统自动处理资源清理,不需要析构函数,虽然可以实现Drop trait来定制清理行为。
4.继承
C++支持类的继承。而Rust不支持传统的面向对象编程中的继承,而是使用特性(traits)和组合来达到类似的功能复用。