使用 "struct" 关键字的结构实例化



假设我声明一个新的C++结构类型:

struct my_struct {
   int a;
   int b;
};

我可以通过以下方式创建此结构类型的新实例吗:

my_struct foo;

struct my_struct foo;

如果两者都有效,有什么区别吗?

是的,您可以使用任一方法。 不同的是,这种形式:

my_struct foo;

在 C 语言中是不合法的,因此您必须使用以下形式:

struct my_struct foo;

C++ 支持向后兼容 C 语言。

两者都有效。第二个工作的主要原因是与C的兼容性:在C中,第一个不起作用。因此,struct s 通常用 C 语言typedefstruct s 和 typedef s 有两种不同类型的名称。

最新更新