加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在delphi中为分支声明块级变量

发布时间:2020-12-15 09:44:42 所属栏目:大数据 来源:网络整理
导读:在Delphi prism中,我们可以声明仅在特殊场合需要的变量. 例如:在棱镜中 If acondition then begin var a :Integer; end; a := 3; //this line will produce error. because a will be created only when the condition is true 这里’a’不能与3分配,因为它
在Delphi prism中,我们可以声明仅在特殊场合需要的变量.

例如:在棱镜中

If acondition then
     begin
        var a :Integer;
     end;
    a := 3; //this line will produce error. because a will be created only when the condition is true

这里’a’不能与3分配,因为它嵌套在分支内.
我们如何声明一个只能在delphi win32中的分支内部使用的变量.所以我可以减少内存使用量,因为它只在某个条件成立时才会被创建;

如果减少内存使用不是问题我们有什么缺点(或者我们没有)

解决方法

你的问题的前提是错误的.您假设在允许块级变量的语言中,当控制进入或离开这些变量的范围时,程序会为这些变量分配和释放内存.因此,例如,您认为当声音为真时,程序会调整堆栈,以便在变量进入该块时为变量腾出空间.但你错了.

编译器计算所有声明的变量和临时变量所需的最大空间,然后在进入函数时保留那么多空间.分配该空间就像调整堆栈指针一样简单;所需时间通常与预留的空间量无关.最重要的是,你的想法实际上不会节省任何空间.

块级变量的真正优势在于它们的范围有限.

如果您确实需要某些变量仅在一个代码分支中有效,那么请将该分支分解为单独的函数并将变量放在那里.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读