gpt4 book ai didi

c++ - 如何使用嵌套在没有名称的结构中的c union

转载 作者:IT老高 更新时间:2023-10-28 22:32:28 26 4
gpt4 key购买 nike

我正在开发所谓的 Hotspot 开源项目,查看实现时我发现 struct 中的一个讨厌的嵌套 union 看起来像这样:

typedef struct RC_model_t_st
{
union
{
struct block_model_t_st *block;
struct grid_model_t_st *grid;
};
/* block model or grid model */
int type;
thermal_config_t *config;
}RC_model_t;

据我所知,在 C/C++ 中, union 是不可访问的。那么有人如何使用以这种方式声明的 union 以及用于什么目的?

谢谢!

最佳答案

这是一个匿名 union 。在 C++ 中,根据 [class.union] 第 5 段:

For the purpose of name lookup, after the anonymous union definition, the members of the anonymous union are considered to have been defined in the scope in which the anonymous union is declared

这意味着您可以像访问 RC_model_t_st 的成员一样访问其成员。

关于c++ - 如何使用嵌套在没有名称的结构中的c union ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13624760/

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