VB6类型别名很长

时间:2012-01-28 02:45:14

标签: vb6 alias

有没有办法在VB6中为long做一个类型别名?我知道你可以将用户类型定义为结构,但我需要类似于

的东西
typedef int mytypename;

在C中,我只是将一个简单类型别名

2 个答案:

答案 0 :(得分:4)

您只能在自定义类型库中实现此类typedef,可以由VB6使用。

例如OLE_COLOROLE_HANDLEstdole.tlb中声明的公共typedef,可以在VB6中使用,就像在Dim clr As OLE_COLOR中等同于Dim clr As Long一样。

答案 1 :(得分:1)

C中唯一真正的目的是支持可移植性。 C标准并未准确告诉您所有支持的体系结构中各种数字类型的大小,它只是告诉您最小大小。因此,由于您可能需要更改底层实现类型,因此您可以使用typedef和友好名称代码。

在VB 6中并非如此。所有内置类型的大小都是明确定义的,并保证不会更改。它是VB 6规范的一部分。所以真的不需要typedef或同等的。

我认为某些人在C中使用typedef来提高可读性,但我不会购买该用法。如果它是整数类型,请使用适当大小的整数类型。没有真正的可读性好处:

typedef int ProductKey;

唯一有意义的情况是你是否正在定义一种新的,完整的类型,如颜色。但在这种情况下,C程序员通常使用typedef来根据整数类型定义颜色类型,以节省空间和内存。

同样,这与VB 6无关,因为如果你关心简约的内存使用和最大速度,你首先不要在VB 6中编写代码。创建表示颜色类型的结构(用户定义类型)甚至类的方法有更多优点,然后在代码中使用 。通过这种方式,您可以获得类型安全性的所有可读性优势(这是您不会通过typedef获取的内容)。如果您想将Color类型作为Long实施,那就是您的业务。