为什么 <bits/stdc++.h> 中有一个“.h”扩展名?
Why is there a ".h" extension in <bits/stdc++.h>?
(据我所知)C++ 不接受头文件的“.h”扩展名(因为它通常不存在于其他 include 语句中)那么 include <bits/stdc++.h>
如何在 C++ 中工作为什么它有“.h”扩展名?
why there is “.h” extension in <bits/stdc++.h>
因为创建文件的开发人员选择了那个名称。
命名 headers 后缀为 .h 是惯例,开发人员大概遵循了这样的惯例。
(As far as I know)c++ doesn't accept the ".h" extension header files
你的认识是错误的。接受任何“延期”,包括不延期。 header 文件的命名方式没有限制。
你已经标记了 [c++-standard-library],所以我要补充一点,C++ 标准 header 都是没有后缀命名的,除了那些从 C 标准库继承的使用传统的 .h 后缀(并且确实有 non-suffixed 别名)。 bits/stdc++.h 不是标准 header 尽管它可能是标准库实现的一部分。
C++ 不对 #include
语句.
中命名的标准库头文件使用 .h
扩展
但是 bits/stdc++.h
不是 标准头文件,因此标准库命名约定不适用于它。无论如何。
从 include 语句中使用的名称到文件名,没有强制映射 IIRC。如果你愿意,你当然可以在你自己的头文件上使用 .h
扩展,尽管如果你在项目中混合使用 C 和 C++ 可能会造成混淆。
(As far as I know)c++ doesn't accept the ".h" extension header files
这是一个错误的说法。
您可以在该语句中使用任何文件名。
预处理器插入所有文件后,结果是有效的C++代码,编译时不会有任何错误。
标准 headers 的情况是 C++ 标准库开发人员在没有扩展名的文件中创建了标准功能。所以文件名是“vector”,所以使用 #include <vector>
。
如果开发人员添加了一个文件“vector.hpp”(在文件的body中有一个语句#include <vector>
)那么它必须被用作#include <vector.hpp>
.
(据我所知)C++ 不接受头文件的“.h”扩展名(因为它通常不存在于其他 include 语句中)那么 include <bits/stdc++.h>
如何在 C++ 中工作为什么它有“.h”扩展名?
why there is “.h” extension in <bits/stdc++.h>
因为创建文件的开发人员选择了那个名称。
命名 headers 后缀为 .h 是惯例,开发人员大概遵循了这样的惯例。
(As far as I know)c++ doesn't accept the ".h" extension header files
你的认识是错误的。接受任何“延期”,包括不延期。 header 文件的命名方式没有限制。
你已经标记了 [c++-standard-library],所以我要补充一点,C++ 标准 header 都是没有后缀命名的,除了那些从 C 标准库继承的使用传统的 .h 后缀(并且确实有 non-suffixed 别名)。 bits/stdc++.h 不是标准 header 尽管它可能是标准库实现的一部分。
C++ 不对 #include
语句.
.h
扩展
但是 bits/stdc++.h
不是 标准头文件,因此标准库命名约定不适用于它。无论如何
从 include 语句中使用的名称到文件名,没有强制映射 IIRC。如果你愿意,你当然可以在你自己的头文件上使用 .h
扩展,尽管如果你在项目中混合使用 C 和 C++ 可能会造成混淆。
(As far as I know)c++ doesn't accept the ".h" extension header files
这是一个错误的说法。
您可以在该语句中使用任何文件名。
预处理器插入所有文件后,结果是有效的C++代码,编译时不会有任何错误。
标准 headers 的情况是 C++ 标准库开发人员在没有扩展名的文件中创建了标准功能。所以文件名是“vector”,所以使用 #include <vector>
。
如果开发人员添加了一个文件“vector.hpp”(在文件的body中有一个语句#include <vector>
)那么它必须被用作#include <vector.hpp>
.