繁体   English   中英

为什么有一个“.h”扩展名<bits stdc++.h> ?</bits>

[英]Why is there a “.h” extension in <bits/stdc++.h>?

(据我所知)C++ 不接受 header 文件上的“.h”扩展名(因为它通常不存在于其他包含语句中)所以包含<bits/stdc++.h>如何在 ZF6F87C9FDCF18EEB713 中工作以及为什么 FCF87C7C9FDCF18EEB713这有“.h”扩展名?

为什么在 <bits/stdc++.h> 中有“.h”扩展名

因为创建文件的开发人员选择了该名称。

使用 suffix.h 命名标题是惯例,开发人员大概遵循了这样的惯例。

(据我所知)c++ 不接受“.h”扩展名 header 文件

你的知识是错误的。 任何“扩展名”,包括不接受任何扩展名。 header 文件的命名方式没有限制。

你已经标记了 [c++-standard-library],所以我要补充一点,C++ 标准头文件都没有后缀命名,除了那些从 C 标准库继承的那些使用传统的.h 后缀(并且没有-后缀的别名)。 bits/stdc++.h 不是标准的 header,即使它可能是标准库实现的一部分。

C++ 不对#include statements 中命名的标准库头文件使用.h扩展名。

但是bits/stdc++.h不是标准的 header,因此标准库命名约定不适用于它。 无论如何都不应该使用它。

从包含语句中使用的名称到文件名,没有强制性映射 IIRC。 如果需要,您当然可以在自己的标头上使用.h扩展名,但如果在项目中混合 C 和 C++ 可能会让人感到困惑。

(据我所知)c++ 不接受“.h”扩展名 header 文件

这是一个不正确的说法。

您可以在该语句中使用任何文件名。

预处理器插入所有文件并且结果是有效的C++代码后,编译时不会出现任何错误。

标准头文件的情况是 C++ 标准库开发人员在没有扩展名的文件中创建了标准功能。 所以文件名是“vector”,所以使用#include <vector>

如果开发人员添加了一个文件“vector.hpp”(在文件的主体内有一个语句#include <vector> ),那么它必须用作#include <vector.hpp>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM