c++ - 他们最擅长什么——C 和 C++

标签 c++ c programming-languages

<分区>

我的一个 friend 决定学习一些低级语言(以提高他的能力),所以他正在考虑 C。或者 C++?!

他不知道是只学习 C 还是完全学习 C++。

他问我它们的用途是什么,但无法告诉他(自从我上次使用 C 或 C++ 以来已经有一段时间了)。

因此,为了帮助我的 friend ,我的问题是他们最擅长什么,C 和 C++?

什么时候需要 C++,什么时候 C 就足够了?

附言我不是要挑起 war 或争论。我不想要语法解释,比如 C 不做模板或没有类可以更好地在 OOP 中思考等。我只想知道每个人的强项是什么,如适用性、功能解决方案

最佳答案

在一个非常高的层次上,没有什么是你在 C++ 中可以做的,而你在 C 中已经做不到的。这两种语言之间的主要区别在于它们工作的抽象级别。

C 是一种中级系统编程语言,旨在成为机器底层硬件之上的薄、可移植层。它被设计得很小,这样语言就可以很容易地从一台机器移植到另一台机器,但又富有表现力,这样您就可以在它之上构建复杂的系统。 C 在嵌入式环境或资源限制如此极端以至于您需要自己手动管理所有细节(例如,操作系统内核、嵌入式设备等)的领域表现出色

用其创建者的话来说,C++ 是“一种偏向于系统编程的通用编程语言,它 1) 是更好的 C,2) 支持数据抽象,3) 支持面向对象编程,4)支持泛型编程。”它发展成为一种编程语言,其运行时性能可与 C 相媲美,但具有更适合构建大型复杂系统的高级语言功能。该语言明显更复杂,但表现力更强,并且更自然地映射到您思考编程问题的方式。虽然您可以获得原始 C 的性能,但 C++ 中的程序通常会为了简化编程而牺牲运行时效率。

我想不出在哪个应用程序中 C 严格优于 C++,反之亦然。 C++ 程序用于火星探测器、互联网路由器、视频游戏等。C 程序是 Linux 和 Windows 的强大动力。确实没有明显的赢家。也就是说,我个人更喜欢 C++。我认为用 C++ 对设计进行编码要容易得多,因为这种语言更丰富,而且您可以更准确地表达自己的意思。

任何一种语言都是一个很好的起点。如果您想快速起床和编码,请学习 C。如果您想投入更多时间,但又想构建更大的系统,请学习 C++。

关于c++ - 他们最擅长什么——C 和 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4608718/

相关文章:

c++ - 自定义转换算子模板和内置算子 : no match for operator

c++ - 首先按给定顺序打印所有数字,然后使用数组打印所有字符和其他符号

c++ - 使用 XP Visual Styles list 时状态栏控件无法正确调整大小

c - 如何在 Linux 上硬编码动态库路径

programming-languages - Forth 还在使用吗?如果是这样,如何以及在哪里?

compiler-construction - 为什么Dart中有特殊的 “sealed”类,我该怎么做?

c++ - 类函数上的新线程

c++ - C++ 中的二维和一维数组等价

c - 在不覆盖指针指向的值的情况下取消 C 中结构数组的索引

programming-languages - 学习机器学习的最佳编程语言是什么?