C++ 质量-#include

标签 c++ include

在包含另一个类时,我总是需要写#include "headername.h"。是否可以在不编写其他类或使用“#include”包含多个类的情况下访问其他类?

最佳答案

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

至于为什么需要头文件,请记住 C++ 需要在使用前声明或定义所有内容。如果编译器不知道有一个名为 Foo 的类你不能声明 Foo 类型的变量.如果你不#include那里的头文件 Foo被定义,编译器根本不知道有这样一个类。

如果你最终不得不在许多源文件中包含许多头文件,你可以将通用头文件放在另一个头文件中,其唯一目的是包含其他头文件。例如,如果您在许多源文件中包含 <string> , <vector><iostream> ,然后创建一个名为 headers.h 的文件含

#ifndef HEADERS_H__
#define HEADERS_H__

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

#endif // HEADERS_H__

然后您可以将此文件包含在您的源文件中:

#include "headers.h"

关于C++ 质量-#include,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18315385/

相关文章:

仅 C++ 前端编译器(将 C++ 转换为 C)

android - 将包含的布局放在主布局的顶部和底部

C++是在每个实例化时创建的模板类中每个方法的新版本

c++ - 为什么我收到 undefined reference 错误

c++ - Visual C++ 编译器错误 C3646 : unknown override specifier

PHP 在邮件函数中包含无数据回显

url - 为什么我的 .js 文件会出现 404?

c++ - 在 Visual C++ 上包含间接寻址

c++ - 打印点和框

ROOT 类的 C++ 赋值运算符