vla*_*nel 15 c++ stdio standard-library
我知道大多数编译器都允许:
#include <stdio.h>
Run Code Online (Sandbox Code Playgroud)
//和
#include <cstdio>
Run Code Online (Sandbox Code Playgroud)
但有人认为<stdio.h>实际上并不是C++标准.
真的吗?
Lig*_*ica 28
stdio.h是标准的,但已弃用.总是喜欢cstdioC++.
[n3290: C.3.1/1]:为了与标准C库兼容,C++标准库提供了18个C标头(D.5),但它们的使用在C++中已弃用.
[n3290: D.5/3]:[ 示例:标头<cstdlib>确实在命名空间中提供其声明和定义std.它还可以在全局命名空间中提供这些名称.标题<stdlib.h>肯定在全局命名空间中提供相同的声明和定义,就像在C标准中一样.它还可以在命名空间中提供这些名称std. - 末端的例子 ]
事实并非如此,因为C++的主要目标是向后兼容C.唯一的区别在于
#include <cstdio>
Run Code Online (Sandbox Code Playgroud)
所有函数都在std命名空间中