如何解决如何判断变量何时超出范围?
在进行引用计数时,任务之一是“当变量超出范围时减少计数器”。但是我最大的问题是,在实现引用计数器的实现级别上,我无法确定变量何时超出范围。
能解释一下变量超出范围的所有(或主要)方法吗?
我是专门针对高级编程语言而不是玩具/入门性本科语言。我在想像JavaScript或Rust,它们具有闭包和嵌套函数定义(至少在JavaScript情况下)。另外,当您使用指针等并使用可变函数参数时。假设您将可变值传递给函数,然后使用该可变值返回闭包,诸如此类。
当变量超出范围时,您可以通过什么方式知道?如何组织得足够有条理,以便可以将其添加到参考计数器?
解决方法
当执行到达声明它的块的末尾时,局部变量超出范围。
全局/静态变量永远不会超出范围。
属于复合数据类型的字段(类/对象,结构/记录,数组等)的变量本身可能没有“作用域”,但如果有,则由范围确定。它们所属的复合数据类型实例。
如果试图在编译时对此进行分析,则使用符号表。有关编译器编写的教科书对此进行了介绍。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。