c++ - struct的结构?

标签 c++ struct typedef

<分区>

Possible Duplicate:
Difference between 'struct' and 'typedef struct' in C++?

谁能解释一下 Struct 的以下定义之间的区别

typedef struct
{
}GOOD;

&

struct GOOD
{
};

&

typedef struct tagGOOD
{
}GOOD;

我的老师用了最后一个例子,但我真的不知道他为什么在结构名称(如果是名称)上使用“标签”,有人能说清楚吗?

最佳答案

在 C 和 C++ 中,任何用名称声明的 struct 都可以称为 struct GOOD。您还可以声明没有名称的匿名结构,如第一个示例中所做的那样。

任何类型都可以被 typedef 赋予它一个备用名称。在第一个示例中,您只是将名称GOOD(没有struct)赋予匿名结构。在第二个示例中,您的结构只能作为 struct GOOD 访问。在第三种情况下,您可以通过 GOODstruct GOOD 访问它。

所有三个选项都是合法的,使用哪一个是风格问题。

关于c++ - struct的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12398538/

相关文章:

ios - Swift 错误或编码错误?结构中的 For 循环

database - 如何解决 go 编程语言中的数据库结构问题?

c++ - 为 sf::String 使用字符串文字时出现链接器错误

c++ - 防止将 AddString(某些进程)添加到组合框 MFC

C++ OutputIterator 后递增要求

C++在类中创建结构的 vector

c - 堆内存澄清

swift - 如何在 swift 中声明类型别名和枚举?

c - 为结构体定义 typedef 2 次

c++ - accept() 函数充当非阻塞