为什么C ++仍在使用stdio.h?

时间:2011-01-16 16:55:23

标签: c++ visual-studio-2010

这可能是一个愚蠢的问题,但我无法找到我想要的答案。另外,我不确定这是一个C ++问题还是VS2010问题,但我正在寻找的答案是技术POV,所以我最终到了这里。

在VS2010中启动新的控制台应用程序项目时,它会自动包含stdafx.h,而stdafx.h又包含 stdio.h 。 我发现有关stdio.h与iostream的答案或多或少:

  

stdio.h用于C和iostream   在C ++中使用

我不知道这是对还是错,但是......

我的问题是:为什么stdio.h仍然自动包含在C ++项目中?没有iostream足够吗?

4 个答案:

答案 0 :(得分:3)

通常使用Create Empty Project创建项目,以便您可以自己自定义包含和预编译的标题。

我不知道为什么会出现这种“默认”,但是如前所述,从头开始设置项目是一件好事。

答案 1 :(得分:3)

较旧的C ++实现中的IO流非常慢,导致程序员继续使用stdio.h。显然,它已经包含在stdafx.h中,并且无法再从该标题中删除,因为删除它会破坏现有代码。

答案 2 :(得分:0)

即使您正在使用流输出,也可以进行一些格式化。所以,如果没有别的,有时会使用sprintf。 sprintf住在stdio.h

答案 3 :(得分:-1)

可能是因为视觉工作室针对的是Mort程序员,他们无法在没有printf的情况下完成“我的第一个c ++”程序,他们会认为该产品无法正常工作。

在投票之前请求google visual studio mort persona。