对于那些对两者都有经验的人来说,主要的区别是什么? 对于新手来说,哪个更好学习? 是否有可能选择C的情况,以及您选择C ++的其他情况? 这是一个使用最好的工具,或者一个明显优于另一个的情况。 我知道C ++是C的“增强”,但它是在’83创建的,并没有完全取代C所以必须有更多的东西。
我知道这个问题是主观的,我不是要开始任何宗教战争,所以请尽量做到客观。 明确优势和劣势以及比较。
虽然C是一种纯粹的过程语言,但C ++是一种多范式语言。 它支持
除此之外,C ++在很大程度上保持了与C代码的兼容性,但存在一些差异。 这些可以在C ++标准的附录D中阅读,以及可能修复使C代码有效的C ++代码的原因和可能性。
C ++是99%C的超集。它的语法更加严格,在变化方面有一些非常微小的差异。
最大的区别是C ++尝试面向对象。 有本地支持类。
在C ++中还有一些其他特权:模板,流操作符,传递引用(比指针传递更容易混淆)
你输入C ++会失去什么? 它缺少许多人使用C的最低级别的黑客攻击。 我不记得其中任何一个,但是我从来没有听到任何好的理由来欺骗编译器做你想做的事情,除非作为一种将效率提高10%的方法。
正如你的免费精选名字大全所暗示的那样,C ++正如你在你的问题中所说的那样,C的增强。这是一个重要的增强。 (我使用术语’增强’来指代特征,而不是function。)然而,关于增强的事情是它意味着增长。 C ++通常适用于更大的程序。 应用程序,真的。 它是一种高性能语言,但它很大。
另一方面,C用于内核和驱动程序编程是有原因的。 这是古老的(古老?),小,如果你很聪明,你可以在没有自己编写汇编程序的情况下尽快获得。 显然,权衡就是特征。 C没有像C ++程序员喜欢的类和模板这样的很好的大软弱概念,这些概念是理所当然的(是的,完全有罪)。
因此,为了更直接地回答您的问题,我的大多数高性能项目都是用C ++编写的。 如果我正在开发类似驱动程序或嵌入式系统的东西,我期望使用C.
如果您从未使用过要求您进行手动内存管理的语言,我会首先使用C语言。
专注于C基础知识,如字符串,函数指针,以及如何使用和管理内存。 当您转换到C ++时,这些都会转移。 最重要的是,确保你真正了解指针,它们与内存的关系,以及指针和数组之间的关系。 我会说是一个全面的程序员,理解这些东西是必需的。
然后,转到C ++并了解OO模型,模板等。尝试从一开始就用C ++完成所有工作可能会有点压倒性。
在大多数情况下,我会认为在C上使用C ++会更好。 如果您不想使用C ++,则不必使用C ++的所有复杂function。 C ++添加了一些对大多数情况非常有用的东西:
就个人而言,我觉得即使你用它来编写类似C的代码(也就是程序的,非面向对象的代码),使用C ++这三件事情也是值得的。
也许如果你正在做一些内核黑客攻击或嵌入式系统开发,你应该使用C,但除此之外,我建议使用C ++。
对于那些对两者都有经验的人来说,主要的区别是什么?
C是子集,C ++是超集。 C ++包括支持面向对象编程的function(例如“多态”)和许多其他function。
对于新手来说,哪个更好学习?
C更容易(因为它是一个较小的主题),而C ++更好(因为它更强大,包括C,根据我的经验,C ++中的编程工作比C中更多)。
是否有可能选择C的情况,以及您选择C ++的其他情况?
在目标平台支持C但不支持C ++(即某些嵌入式设备)的罕见罕见情况下,我会选择C over C ++。
你尽可能使用C ++,你必须使用C语言。 一般来说,如果您的平台有可用的C ++编译器,则没有理由不使用它。 C是一种非常好的语言,但C ++增加了很多额外的function而不会失去任何权力,所以它几乎总是选择的语言。
以上就是c/c++开发分享C和C ++之间的主要区别是什么?你何时会选择其中一个?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/560736.html