2

我真的只是在学习编程,并且在阅读 C++ Primer Plus(第 5 版)时,我遇到了“任何有效的 C 程序都是有效的 C++ 程序”的说法,我很想知道我能走多远。 .

这本书很好,但这种说法一定是真的吗?

尽管我打算只为特定项目编写 C 代码而不是选择将其称为 C 文件,但是否有任何理由不在CodeBlocks 中创建新文件并选择它是 C++ 文件?例如,也许我会开始用 C 编写一些东西,然后意识到我想开始使用一些 C++ 功能,因为我可以在之后更改文件扩展名,所以我一开始的决定是否无关紧要?

4

4 回答 4

4

C 和 C++ 是两种截然不同的语言。是的,在大多数情况下,C++ 与标准 C 语法配合得很好。但是 C++ 是面向对象的,而 C 不是。两者之间的组织非常不同。

先学C。学习 C 之后学习 C++ 会容易得多,通常暗示您至少了解基本的 C 语法,然后才能使用 C++。

于 2012-11-09T03:16:39.450 回答
3

该声明是完全错误的。有很多 C 程序不是有效的 C++ 程序,我什至可以说,任何正确编写的非平凡 C 程序都不是有效的 C++ 程序。提示:char *p = malloc(n);不是有效的 C++。

于 2012-11-09T05:56:32.037 回答
0

大多数情况下没有,但我认为如果您选择 C,您可能无法访问某些库。

于 2012-11-09T03:25:05.653 回答
0

我记得如果你的文件是 C 语言文件(*.c),有些 C++ 语句无法编译,但通常是可以的,反之亦然。也许是因为 C++ 是 C 的超集。

而且我认为无论您创建 *.c 还是.cc/ .cpp 文件都可以。在我看来,编写 C 程序和 C++ 程序时最重要的是思维方式。C 是一种过程语言,而 C++ 是一种 OO 语言。

于 2012-11-09T07:48:25.487 回答