iostream是否包含cstdio的功能?

时间:2017-11-14 02:20:31

标签: c++

我使用Dev C ++ 5.11。 TDM-GCC 4.8.1

此代码运行良好。

#include<iostream>
using namespace std;

int main()
{
printf("%d\n", 42);
cout << "good";
}

但据我所知,iostream不包括&#34; printf&#34;。 (http://en.cppreference.com/w/cpp/header/iostream

为什么这段代码会运行? iostream实际上包括printf?这是一种标准吗?

1 个答案:

答案 0 :(得分:2)

系统/标准头文件中包含的头文件列表依赖于库实现(通常与您正在使用的编译器相关联),并且(据我记得)C ++标准不禁止一个头文件自动包含另一个

在您的情况下,<iostream>可能也包括<stdio.h>(或<cstdio>)。

依赖于另一个包含的头文件不能移植到不同的标准库,编译器和平台,因此最好确保明确#include所需的一切。