【发布时间】:2016-06-13 17:42:33
【问题描述】:
如果一个库包含在一个类头中,然后这个头包含在另一个类中,我是否必须再次包含该库?
例如:
#ifndef A_H
#define A_H
#include<someLibrary.h>
class A{
...
}
#endif
然后另一个类包含 A.h 标头
#include<A.h> //include class A
class B{
...
}
我必须在 B 类中包含“someLibrary.h”吗?
【问题讨论】:
-
B是否使用来自<someLibrary.h>的任何东西(即直接而不是通过A)?如果是这样,那么是的,“包括你使用的东西” - 它使代码库对包含更改更加健壮。 -
一位 Youtuber 告诉编译器将复制和粘贴 .h 文件的内容并将其粘贴到您的 .cpp 文件中。在这种情况下,您可以查看是否需要包含您的内容。