- 主题:闭包move声明后,域外的变量仍然可以访问和修改,是否闭包的规
其实就是java里面有没有new的区别,rust的文档在这块没有特意写明白。
【 在 nextworld8 的大作中提到: 】
: ok
: 看了规范 和堆栈也没有明确的关系
: 还是编译器约束导致的 只有实现了copy trait的才可以直接复制
: ...................
--
FROM 1.202.141.*
编译器或者解释器优化,我认为不属于语言特性,而是编译器的便宜之法。
rust的乱我还没看到...不同类型的工作交织进行,看得很慢。
【 在 nextworld8 的大作中提到: 】
: 不太一样的哟 java靠运行时gc管理对象 new可能被优化到栈
: rust通过在编译时自动生成一些释放资源的代码 编译器没那么智能 只能预定一些规范
: 通过是又需要对一些特定逻辑进行修补 所以rust很多限定词用法 很乱
: ...................
--
FROM 1.202.141.*
感觉如果能把这些逻辑还原到C的行为,理解起来应该很容易。
【 在 nextworld8 的大作中提到: 】
: 还有一个 栈上的copy trait ,复制后 新的变量离开作用域 可以调用drop 旧的就不调用
: 都不清楚 rust编译器是根据实际的value调用drop 还是维护符号表变量 只有有效的变量才调用drop
--
FROM 1.202.141.*