c++包含头文件好还是重新定义好

A.h
struct A
{
    int a;
    int b;
};
 
B.cpp
在B.cpp里面用到这个结构体
有两种方法
1.自己定义一个一模一样的结构体
struct A
{
};
2.包含A.h头文件
 
第一种感觉有点蛋疼同样的结构体定义两次,是不是重复了
第二种包含别人的头文件,会带来编译的小麻烦,而且这样模块之间的关联性变大了,感觉也不好
大家觉得哪种方法好?为什么呢?
不要重复发明轮子 , 除非这个轮子满足不了你的需求
先问一个问题,如果别人改了struct A,比如删掉了int b或者加了个int c,那你的B.cpp是不是也要改?
如果是,那么包含A.h比较好。不管是编译的小麻烦,还是模块之间的关联性,都不是你的代码或者设计带来的问题,而是根本无法避免的。

看了这两个回答后,还是包含头文件好

原文地址:https://www.cnblogs.com/zzyoucan/p/3850001.html