自定义头文件和包含库[C ++]

时间:2013-07-29 12:26:37

标签: c++ header libraries

如果我创建这样的标题:

#ifndef _MY_HEADER_H
#define _MY_HEADER_H

#include <iostream>
void foo();

#endif

使用它的通讯.cpp文件,我是否需要在 main.cpp 文件中包含 iostream

2 个答案:

答案 0 :(得分:0)

没有必要在main.cpp中再次包含它,如在main.cpp版本中,如果包含相同的.h版本,包含将自动在编译中可用,为什么要写一个额外的冗余行? / p>

答案 1 :(得分:0)

回答你的问题:不,你不需要再包括它(再次)。

但最好只在标题中包含标题工作所需的内容。因此,如果您的foo()方法需要iostream,则应将其包括在内。如果你创建一个只使用指针或对其他类的引用的类,你应该更喜欢前向声明,而不是包含相应类的完整标题。