3

我已经使用 Turbo C++ 1 年了,事情是......我知道它已经非常老了,但现在我已经习惯了它的语法。你能推荐一个(更好的)IDE,它不会显示任何与 turbo C++ 的错误代码?我已经尝试过可视化 C++ 和代码块,甚至尝试过(非常疯狂地)一个 eclipse CDK 包。但是,它们都向普通程序显示错误,例如: #include<iostream.h> void main() {cout<<"hello";}

4

3 回答 3

4

Turbo C++ 如此陈旧的问题在于它比现代编译器更不符合标准。很久以前,C++ 编译器都千差万别。支持不同的特性、不同的语法,并且在他们的 C++ 实现中有严重的错误。那时编写可移植的 C++ 很困难。在过去的 15 年里,随着编译器的成熟以及在实现通用 C++ 标准方面越来越好,情况有了很大的改善。

因此,现代编译器的主要好处可能是它们更加符合要求。他们支持 Turbo C++ 支持的相同错误的 C++ 方言。

与其要求现代 C++ 编译器不具备现代编译器所需要的主要功能,不如简单地找出 Turbo C++ 方言中不正确的区域。无论如何,这可能是一个很好的练习;C++ 程序员从他们的编译器中学到了相当多的 C++,所以当编译器出错时,他们会学到错误的东西。使用不同的编译器有助于找出此类误解并提高对 C++ 的了解。进行调整应该不会太难。

因此,就 C++ 的权威 ISO 规范而言,您发布的简单程序存在以下问题:标准 C++ 标头上没有“.h”后缀,因此#include <iostream.h>您必须使用.h 来代替#include <iostream>。这些标准头文件将东西放在命名空间中,所以为了访问cout你必须在std命名空间内访问它:而不是cout<<"hello";你应该写std::cout << "Hello\n";. finallymain需要 returnint而不是void,因此您的整个程序可能如下所示:

#include<iostream>

int main() {
    std::cout << "Hello\n";
}
于 2013-01-23T17:27:26.263 回答
2

你是否习惯了这种语法并不重要。如果要编写 C++ 代码,则必须使用 C++ 语法。就像在德国你不能因为习惯了英国的左侧而突然在左侧行驶一样。如果你想在德国开车,你必须遵守规则。如果你不这样做,你会崩溃。

使用现代 C++ 编译器意味着您必须编写符合标准的 C++ 代码。

于 2013-01-23T17:20:27.190 回答
1

这实际上不是一个普通的 C++ 程序。

main 总是返回int并且<iostream.h>多年来一直在技术上不可用(支持<iostream>,尽管许多编译器支持一段时间)。

我不会试图找到一个接受现有代码的 GUI,而是尝试买一本书并学习/复习更新的 C++(至少 C++03),然后使用现代编译器(g++ 或免费的 Visual Studio 编译器) ) 来构建您的标准代码。

于 2013-01-23T17:19:52.837 回答