【发布时间】:2021-08-05 15:05:15
【问题描述】:
假设我有一个文件 player.h,在 player.h 中我包含以下内容:
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
我是否需要在player.cpp 中再次包含这些内容,在那里我充实了头文件中声明的函数?如果我不这样做,我是否需要在运行 main.cpp 时包含它们,它从我的各种 .cpp 和 .h 中调用函数
学校从来没有真正告诉过我是否要这样做,所以我总是把所有东西都包括在内。如果没有必要,多次包含所有内容与不这样做有什么明显区别吗?
【问题讨论】:
-
不,如果
player.cpp#includesplayer.h,则不需要将它们包含在player.cpp中 - 但通常建议在每个文件中包含您使用的内容。 -
不完全确定你的意思,但如果你在 player.cpp 文件中
#include "player.h",那么那些#include行将自动添加到 player.cpp。你问的是这个吗? -
@Ted 但是不包含大量系统头文件重复有点违背了已经包含它们的单个预编译头文件的目的?
-
@AdrianMole 是的,我想这也是真的。
标签: c++ include header-files