C++ 若我在头中有一个include语句,我需要把它放在源代码中吗?
进一步提出以下问题: 如果我在头文件中已经有一个include语句,例如#include,我还需要把它放在源文件中吗?我可以在两个文件中都使用#include进行编译,从源文件中删除#include也可以C++ 若我在头中有一个include语句,我需要把它放在源代码中吗?,c++,C++,进一步提出以下问题: 如果我在头文件中已经有一个include语句,例如#include,我还需要把它放在源文件中吗?我可以在两个文件中都使用#include进行编译,从源文件中删除#include也可以 那么,哪一个更合适,或者它实际上并不重要?如果您的第一个包含文件依赖于第二个包含文件,例如,第一个包含文件引用了第二个包含文件中的类或typedef,则将第二个包含文件放在第一个包含文件中。如果他们是独立的。包括源文件中的这两个 为了避免两次包含文件时出现问题,人们通常 #ifndef INC
那么,哪一个更合适,或者它实际上并不重要?如果您的第一个包含文件依赖于第二个包含文件,例如,第一个包含文件引用了第二个包含文件中的类或typedef,则将第二个包含文件放在第一个包含文件中。如果他们是独立的。包括源文件中的这两个 为了避免两次包含文件时出现问题,人们通常
#ifndef INCLUDE_FILE_NAME_INCLUDED
#define INCLUDE_FILE_NAME_INCLUDED
.......
#endif
在包含文件的开头/结尾,因此即使包含两次,也会第二次定义包含的文件名,并且不会对文件进行两次计算。\35; include
cascades。因此,如果您在文件.h
中包含,然后在文件.cpp
中包含文件.h
,您将在文件.cpp
中包含iostream
文件.h
但是请记住:当头文件本身需要导入定义时,仅在头文件中包含
。简短回答:仅将其放在必须的位置
如果编译时根本不需要#include
指令,请执行该操作。否则,如果您只能在源文件中使用它进行编译,请执行此操作。
否则,必须将其放在头文件中,但不要将其也放在源文件中
之所以宁愿将其放在源文件而不是头文件中,是为了避免在包含头文件的其他文件中产生不必要的依赖关系。谢谢您的建议。我想大部分内置的东西都已经有人看守了。这里的问题更多的是“正确的”。无论如何,是的。谢谢你的建议!那我就遵循这个经验法则。
#include <iostream>
...
#include "file.h"
// iostream definitions are available.