为什么要在 C/C++ 中包含一些头文件
Why duplicate include some header file in C/C++?
#include<assert.h>
#include<stdio.h>
**#include<stdlib.h>**
#include<string.h>
**#include<stdlib.h>**
#include<time.h>
stdlib.h 被包含两次,但为什么呢?
C 标准
中只有一个非幂等标准标头:<assert.h>
。
C++继承了这一点并添加了自己的改编: <cassert>
.
即使对于这些,如果不改变它们之间的NDEBUG
,多重包含也不会产生任何影响。
您自己的标头以及您可能使用的其他库中的标头应使用包括保护(或不可移植但经常工作的#pragma once
(。
如果你对你的头进行排序(虽然首先包括实现文件自己的头(,你可以很容易地消除重复项,而不需要依赖它。
相关文章:
- 使用mongocxx驱动程序时包含头文件问题
- 如何在h文件中包含.o对象文件
- 包含模板文件的递归会导致编译失败
- 在C++中包含原型文件的正确方法是什么?
- 包含在.cpp文件中包含在 .h 文件时包含
- 如何为包含头文件的目标编写生成文件?
- 使用提升元解析字符串解析包含的文件
- 在头文件上包含 cpp 文件是否有缺点?
- 如何在 CMakeLists.txt Qt Creator 中包含头文件?
- VS:在构建/exe中包含资源文件
- 无法使包含.hpp文件与其中的2个文件一起使用
- 当包含头文件的文件不在根项目文件夹中时,如何包含它
- 在生成文件先决条件中包含头文件的原因
- 在工厂或C++类中包含数据库 .h 文件
- My Project的属性配置正确,但Visual Studio仍然无法打开包含头文件
- 在 PostgreSQL C 扩展中包含头文件
- 是否可以在C++中以间接方式包含头文件
- 是否需要包含头文件?
- 为什么我可以在多个包含const int的cpp文件中包含一个头文件,而不会出现编译器错误
- 头文件在整个程序中仅包含一次