最近几年,我使用C进行编程,并且养成了习惯,将结构的typedef放在头文件中,并将其定义保留在源文件中,这样其他人就可以使用我的文件而不会使它们困惑。
// header file
typedef struct s_example EXAMPLE
// source file
struct s_example {
// something
};
这样做有什么问题吗,我应该让别人知道我对我的结构做什么吗?
我只是问这个问题,因为我看到很多人在头文件中显示所有内容。
最佳答案
仅在头文件中声明的缺点是,所有其他不包含struct
定义的源文件都无法实例化该struct
的实例,而只能实例化该实例的指针。这是因为,对于其他源文件,您的struct
是incomplete type。如果这对您的应用程序来说很好,那么仅在头文件中声明就没有问题。
关于c++ - 结构定义标准,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29154290/