gpt4 book ai didi

c++ - 令人困惑的联盟结构

转载 作者:行者123 更新时间:2023-11-28 02:30:07 25 4
gpt4 key购买 nike

在下面的代码中:

union
{
float dollars;
int yens;
}price;

价格是匿名 union 的实例还是 union 本身的名称。它看起来像一个实例,但代码的作者说它是 union 的名称。

现在,第二个问题 - 假设这个 union 是否嵌入到一个结构中如下所示:

struct
{
char title[50];
char author[50];
union
{
float dollars;
int yens;
}price;
}book1;

访问 book1.dollars 是否有效?

最佳答案

1) 这确实是一个匿名 union 的实例,作者错了。如果您在 union 前面加上 typedef 关键字,例如

typedef union
{
float dollars;
int yens;
} price;

,那么 price 将是一个引用 union 的类型名。

2) 不,您要使用 book1.price.dollars

更新: union 类型可以通过以下方式声明:

union price
{
float dollars;
int yens;
}; // here you see, there is no instance.

如果在右大括号和分号之间有一个标识符,那将是实例的名称。

关于c++ - 令人困惑的联盟结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29250305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com