匿名选件类类型

类可以是匿名的,即可以声明,不含 标识符。 这是有用,在使用 typedef 名称时替换一个类名,如下所示:

typedef struct
{
    unsigned x;
    unsigned y;
} POINT;

备注

上面示例中显示的使用匿名类为保留与现有 C 代码的兼容性很有用。在某些 C 代码中,使用匿名结构一起的 typedef 方式。

匿名类也很有用,当您希望对类成员出现,就象在单独的类中没有包含,所示:

struct PTValue
{
    POINT ptLoc;
    union
    {
        int  iValue;
        long lValue;
    };
};

PTValue ptv;

在上面的代码中, iValue 可以按如下方式获取使用对象成员选择运算符 (.):

int i = ptv.iValue;

匿名类受到某些限制。 (有关匿名联合的更多信息,请参见 联合。)匿名类:

  • 不能具有构造函数或析构函数。

  • (除非类型检查失效使用省略号),不能通过作为参数传递给函数。

  • 不能返回值从函数的值。

请参见

参考

定义选件类类型