为什么要在 C/C++ 中包含一些头文件

Why duplicate include some header file in C/C++?

本文关键字:包含一 文件 C++ 为什么      更新时间:2023-10-16
#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(。

如果你对你的头进行排序(虽然首先包括实现文件自己的头(,你可以很容易地消除重复项,而不需要依赖它。