【发布时间】:2010-12-10 01:02:51
【问题描述】:
为什么map导入为#include <map>,而stdio导入为#include <stdio.h>?
【问题讨论】:
-
stdio也可以导入为
#include <cstdio> -
@Matt:所以导入名称与文件名不同。这是怎么做到的?
-
@Casebach:通常有两个单独的文件,
cstdio和stdio.h,其中cstdio包括stdio.h,其方式是将其所有符号放入命名空间std。但它的确切方式取决于实现。 -
@Casebash: 不,实际上有一个文件
cstdio(或至少是编译器已知的伪文件)定义了几乎等价的标准 C++ 库函数 到标准 C 库头stdio.h. -
@Ben:它们可能不只是包含 C 头文件,但在流行的编译器上(我在回答之前检查了我在 MSVC 上的
cstdio头文件)它们仍然包含它们。不过你的观点很有趣。