Scenario:
foo.h:
#include <vector>
class foo {
public:
std::vector<int>* getVector();
/* ... other methods declarations ... */
}
foo.cpp:
#include "foo.h"
#include <vector>
/* ... other methods definitions using std::vector ... */
std::vector<int>* foo::getVector() {
return new std::vector<int>();
}
我希望.cpp文件不会受到头文件未来变化的影响。如果类的接口由于某种原因发生更改,并且可以消除对的依赖性,那么我可能会冒险使.cpp中的其他方法也失去该包含。
在.cpp和.h文件中都重复包含是否正确?这种做法有意义吗,还是应该只依赖于头文件中的包含?