有没有办法在VB6中为long做一个类型别名?我知道你可以将用户类型定义为结构,但我需要类似于
的东西typedef int mytypename;
在C中,我只是将一个简单类型别名
答案 0 :(得分:4)
您只能在自定义类型库中实现此类typedef,可以由VB6使用。
例如OLE_COLOR
,OLE_HANDLE
是stdole.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
实施,那就是您的业务。