C++ 编程中“struct”和“typedef struct”有何不同?
基本上,struct 用于定义一个结构。但是,当我们想要使用它时,在 C 中必须使用 struct 关键字。如果我们使用 typedef 关键字,便可以创建一个新名称,无需编写 struct 关键字即可用该名称使用 struct。
在 C++ 中,“struct”和“typedef struct”没有区别,因为在 C++ 中,如果名称不因具有相同名称的另一个声明而被隐藏,则所有的 struct/union/enum/class 声明都会像被隐式 typedef 过一样起作用。
尽管有一个细微的区别,即 typedef 不能被前向声明。因此对于 typedef 选项,你必须在任何地方使用它之前包含包含该 typedef 的文件。
广告