C++ C++;质量-包括

C++ C++;质量-包括,c++,include,C++,Include,当包含另一个类时,我总是需要写“headername.h”。是否可以访问其他类而不编写它或包含多个带有“#include”的类?您可以创建自己的头文件,其中包含必要的include,然后包含此头文件。指令的作用正是其名称所暗示的,它实际上将所需文件的内容包含到源文件中。它是在编译过程的早期阶段完成的,在实际的编译器获得源代码之前。源代码及其所有头文件称为翻译单元,编译器就是在这个翻译单元上工作的 至于为什么需要头文件,请记住C++需要在使用之前声明或定义所有内容。如果编译器不知道有一个名为Foo

当包含另一个类时,我总是需要写“headername.h”。是否可以访问其他类而不编写它或包含多个带有“#include”的类?

您可以创建自己的头文件,其中包含必要的include,然后包含此头文件。

指令的作用正是其名称所暗示的,它实际上将所需文件的内容包含到源文件中。它是在编译过程的早期阶段完成的,在实际的编译器获得源代码之前。源代码及其所有头文件称为翻译单元,编译器就是在这个翻译单元上工作的

至于为什么需要头文件,请记住C++需要在使用之前声明或定义所有内容。如果编译器不知道有一个名为

Foo
的类,则不能声明
Foo
类型的变量。如果没有定义
#include
头文件
Foo
,编译器就不会知道有这样一个类

如果最终不得不在多个源文件中包含多个头文件,则可以将公共头文件放在另一个头文件中,该头文件的唯一目的是包含其他头文件。例如,如果在许多源文件中包含
,则创建一个名为
headers.h
的文件,其中包含

#ifndef HEADERS_H__
#define HEADERS_H__

#include <iostream>
#include <string>
#include <vector>

#endif // HEADERS_H__

您可以包含一个包含其他文件的文件。您可以编写一个包含所有其他文件的包装头。但不要偷懒:包含你想要的,不要包含你不想要的。@BoBTFish实际上,如果你使用的是预编译的头文件,使用一个巨大的综合包含文件,可以反复使用同一个pch,从而加快编译速度。
#include "headers.h"