Variant 类型的变量,其值为 Empty,如何在堆栈上表示? [英] How is a variable of type Variant with value Empty represented on the stack?

查看:16
本文介绍了Variant 类型的变量,其值为 Empty,如何在堆栈上表示?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下解释来自Rhino Developer Docs

当你在 VBScript 中声明一个变量时,变量之前的值第一个赋值是未定义的,或者 Empty.

Empty

When you declare a variable in VBScript, the variable’s value before the first assignment is undefined, or Empty.

Dim varValue ' Empty value

所以基本上,Empty 表示我是一个未初始化的变体".如果你需要检测变量是否实际上是空变体而不是字符串或数字,您可以使用 IsEmpty.或者,您可以使用TypeNameVarType,但 IsEmpty 最好.

So basically, Empty says "I am an uninitialized variant." If you need to detect whether a variable actually is an empty variant and not a string or a number, you can use IsEmpty. Alternatively, you could use TypeName or VarType, but IsEmpty is best.

所以 Empty 用于声明变量.如果声明一个变量,就是在栈上预留存储,但是栈上的 Empty 的值是多少呢?

So Empty is used for declaring variables. If you declare a variable, you reserve storage at the stack, but what is the value of Empty on the Stack?

推荐答案

VBScript 变量是 Variant 类型.变体表示可以更改类型的值.在内存中,Variant 类型是一个 16 字节的 结构.

VBScript variables are of type Variant. A variant represents a value that can change type. In memory, the Variant type is a 16 byte structure.

如果变量为空(Empty 值),则 vt 成员(存储变量引用的数据的类型)的值为 <代码>0x0000 (VT_EMPTY)

If the variable is empty (Empty value), then the vt member (that stores the type of the data referenced by the variable) will have a value of 0x0000 (VT_EMPTY)

这篇关于Variant 类型的变量,其值为 Empty,如何在堆栈上表示?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆