这事我思考了一段时间,为啥现在对象的所有权会变得这么复杂呢。一个很重要的原因就是有大量回调函数的存在,让对象的生命周期跳出函数的生命周期。
原本 RAII 或者简单引用计数就能够做好资源管理,现在因为有大量的异步回调,变得不够用了。所以新兴的 rust 这些语言才会搞出这么复杂的资源管理模型。
看人家 golang 就不会那么麻烦。c# 也有值类型,也不会那么麻烦。
依我看,等 c++ 也普及了协程编程之后,rust 就会变得一文不值。
【 在 milksea 的大作中提到: 】
: 还是有点差别。
: safe c++的提案(safecpp dot org)倒是特别高仿复刻rust,关键的borrow checker,默认mut,pattern match什么的都有。
: 我觉得rust对c++熟手不难学,它安全性上强调的几个点,比如所有权和生存期,在传统面向对象领域其实是交给程序员自己思考的;在语法表达上的变化,熟悉现代c++和一些函数式风格的话也没啥。
: ...................
--
FROM 110.84.123.*