最近几年,我使用C进行编程,并且养成了习惯,将结构的typedef放在头文件中,并将其定义保留在源文件中,这样其他人就可以使用我的文件而不会使它们困惑。

// header file
typedef struct s_example EXAMPLE
// source file
struct s_example {
       // something
};

这样做有什么问题吗,我应该让别人知道我对我的结构做什么吗?

我只是问这个问题,因为我看到很多人在头文件中显示所有内容。

最佳答案

仅在头文件中声明的缺点是,所有其他不包含struct定义的源文件都无法实例化该struct的实例,而只能实例化该实例的指针。这是因为,对于其他源文件,您的structincomplete type。如果这对您的应用程序来说很好,那么仅在头文件中声明就没有问题。

关于c++ - 结构定义标准,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29154290/

10-11 22:54
查看更多