iostream库是否包含了cstdio库?

我是C++的初学者,想了解一下iostream库与cstdio库的区别,听说iostream库包含了cstdio库,请问是这样的吗?麻烦各位看一下,谢谢了

我调研了一会资料,感觉两者还是不同的。

两者都是 c艹 对于 IO 的库。不过稍微看一看 cstdio 库,可以发现 cstdio 库实际只是 c 语言的 stdio.h 的一层封装,主要是将 stdio.h 的函数引入到 std 命名空间中。然而 iostream 则是主要负责 IO 流操作的库,也就是常用的 cout 和 cin 这些流对象的来源。

在谷歌也没查到说两者有明显的上下级关系,包括在 cppreference 上也未查到明显的包含关系(https://cplusplus.com/reference/cstdio/https://cplusplus.com/reference/iostream/),同时自己也在个人电脑中追了一下头文件,也没发现包含关系。因此可以认为 iostream 和 cstdio 基本无关。

不过,由于规范中也并未规定两者一定要相斥,或许在不同的库实现下,可能会存在包含关系。但是在开发的初期阶段,建议是将各个 #include 语句补充完整,明确自己想要使用的库,这样对自己的代码风格和规范有所帮助,避免未来跨平台开发时产生低级错误。