![]() |
1
14
C是纯过程语言,C++是 多范式 语言。它支持
除此之外,C++在很大程度上保持了与C代码的兼容性,但也存在一些差异。这些可以在C++的附件D中读取,连同原因和可能的固定使C代码有效的C++代码。 |
![]() |
2
8
C++是C的超集99%,它在语法上有点严格,在事物变化方面有一些微小的差别。 最大的区别是C++试图实现面向对象。有对类的本机支持。 C++中还有一些其他的好处:模板、流运算符、按引用传递(比传递指针少一点混乱)。 在C++中你失去了什么?它缺少了很多人使用C进行的一些最低级的黑客攻击。我一点都不记得它们,但是我从来没有听到过任何好的理由来诱使编译器去做你想要的事情,除了把效率提高到10%以外。 |
![]() |
3
6
C++,正如它在你的问题中所暗示的那样,是对C的增强,它是一个显著的增强。(我用“增强”这个词指的是功能,而不是功能。)不过,增强的意思是增长。C++通常适用于更大的程序。应用程序,真的。这是一种高性能的语言,但它很强大。 另一方面,C用于内核和驱动程序编程是有原因的。它很古老(古老?),小,如果你很聪明,尽可能快,不用自己编写汇编程序。显然,折衷的是特性。C没有很多像类和模板这样好的大的概念,像我这样的C++程序员是理所当然的(没错,完全有罪)。 因此,为了更直接地回答你的问题,我的大部分大型、高性能项目都用C++编写。如果我正在开发类似驱动程序或嵌入式系统的东西,我会期望使用C。 |
![]() |
4
5
如果你从未使用过一种要求你进行手动内存管理的语言,我会先使用C语言。 专注于C基础,比如字符串、函数指针,以及如何使用和管理内存。当您转换到C++时,这些都将转移。最重要的是,确保您真正地摸索指针,它们与内存的关系,以及指针和数组之间的关系。我想说,作为一个全面的程序员,理解这些东西是必需的。 然后,去C++学习OO模型、模板等等。尝试从C++开始做一切都可以有点压倒一切。 |
![]() |
5
3
我会提出这样的论点:在大多数情况下,你最好用C++来代替C。如果你不想使用C++,那么你不必使用所有复杂的特性。对于大多数情况,C++添加了一些非常有用的东西:
就个人而言,我觉得这三件事使C++使用它,即使你用它来编写类似C代码(又名过程性的、非面向对象的代码)。 也许如果你正在做内核黑客或嵌入式系统开发,你应该使用C,但是,否则,我建议C++。 |
![]() |
6
2
C是一个子集,C++是一个超集。C++包含支持面向对象编程(例如“多态性”)和许多其他特性的特性。
C更容易(因为它是一个较小的主题),C++是更好的(因为它更强大,包括C,并且在我的经验中,C++中的作业编程比C中有更多)。
在C平台上,在C平台上,我选择C来代替C,而不是C++(即在一些嵌入式设备上)。 |
![]() |
7
2
你可以使用C++,也可以使用C。一般来说,如果你的平台上有一个C++编译器,没有理由不使用它。C是一个非常好的语言,但是C++增加了很多额外的内容,而不会失去你的能力,所以它几乎永远是你所选择的语言。 |
![]() |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
![]() |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
![]() |
rainer · 后台插入程序的初始化 1 年前 |
![]() |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
|
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |