使用 C++ 编程语言,开发人员可以直接访问存储特定变量的内存。 内存指针提供此直接访问。 在 Visual Basic 中,将为你处理指针。 例如,在 C++ 中声明为
int
的指针的参数等效于在 Visual Basic 中声明为
ByRef
Integer
的参数。
在 Visual Basic 中声明
As String
的参数在 C++ 中声明为指向
BSTR
的指针。 在 C++ 中将字符串指针设置为
NULL
等效于在 Visual Basic 中将字符串设置为
vbNullString
常量。 将零长度字符串 ("") 传递给旨在接收
NULL
的函数不起作用,因为这会将指针传递给零长度字符串而不是零指针。
C++ 支持数据容器,即结构和联合,这些在早期版本的 Visual Basic 中没有等效的数据容器。 因此,COM 对象通常包装通常存储在对象类的结构和联合中的信息。 但是,某些 COM 对象可能包含结构,导致 Visual Basic 无法访问对象的部分方法或功能。
Visual Basic 中不支持某些 C++ 数据类型,例如无符号类型和
HWND
类型。 接受或返回这些数据类型的方法在 Visual Basic 中不可用。
Visual Basic 使用与 Automation 兼容的数据类型作为其内部数据类型。 因此,与 Automation 兼容的 C++ 数据类型也与 Visual Basic 兼容。 与 Automation 不兼容的数据类型可能无法转换为 Visual Basic。
下表列出了 Visual Basic 支持的数据类型及其
VARTYPE
等效数据类型。
VARTYPE
是一个列举 Automation 变量类型的枚举。
Visual Basic 数据类型
VARTYPE 等效项
Visual Basic 中的所有参数,除非用关键字
ByVal
标记,否则都是通过引用(作为指针)而不是通过值传递的。
C++ 和 Visual Basic 在属性表示方式上略有不同。 在 C++ 中,属性表示为一组访问器函数,一个用于设置属性值,一个用于检索属性值。 在 Visual Basic 中,属性表示为可用于检索或设置属性值的单个项。
转换为 Visual Basic