#include<iostream.h> 在 turboc++ 中运行良好,但在 Visual studio 中运行不佳。为什么?

#include<iostream.h> works well in turboc++ but not in Visual studio. why?

我正在使用 turboc++ 4.0 和 Visual studio 2013。我刚开始学习编程。当我写代码的时候。

#include<iostream.h>
#include<conio.h>
int main()
{
cout<<"hello!";
getch();
return 0;
}

它在 turbo 中运行良好,但 visual stdio 显示错误

fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory.

当我使用

using namespace std;

它显示了关于使用 getch(); 的另一个错误。

每个编译器都有自己的语法吗?

"Does every compiler have it's own syntax?"

不,每个编译器都需要执行一个标准。
Turbo-C++ 是在任何标准建立之前创建的,它只是唯一仍然存在的编译器,没有实现它们。

编写程序的标准兼容方式如下所示:

#include <iostream>

int main() {
    std::cout<<"hello!" << std::endl;
    char dummy;
    std::cin >> dummy;
}

注意: 你不应该使用 using namespace std;,而是明确地把 std:: scope 需要的时候,或者使用 using std::cout cout;, 等

Turbo C++ 是 1990 年代中期或早期,在 C++ 标准化之前。

当时 C++ 的有效标准是 ARM,Bjarne Stroustrup 和 Margaret Ellis (IIRC) 的注释参考手册,它使用了<iostream.h>

随着 1998 年的第一次标准化,<iostream.h> 被删除,取而代之的是 <iostream>。标准 header 将 cincout 放在命名空间 std 中,因此您不能只更改 header 名称。不能保证,但是您可能可以通过编写

使您的代码正常工作
#include <iostream>
using namespace std;