如果我创建这样的标题:
#ifndef _MY_HEADER_H
#define _MY_HEADER_H
#include <iostream>
void foo();
#endif
使用它的通讯.cpp文件,我是否需要在 main.cpp 文件中包含 iostream ?
答案 0 :(得分:0)
没有必要在main.cpp中再次包含它,如在main.cpp版本中,如果包含相同的.h版本,包含将自动在编译中可用,为什么要写一个额外的冗余行? / p>
答案 1 :(得分:0)
回答你的问题:不,你不需要再包括它(再次)。
但最好只在标题中包含标题工作所需的内容。因此,如果您的foo()
方法需要iostream
,则应将其包括在内。如果你创建一个只使用指针或对其他类的引用的类,你应该更喜欢前向声明,而不是包含相应类的完整标题。