Quora热议:如果有强大的C++编译器,请不要使用C语言

时间:2022-10-09 17:47:05 | 浏览:2561

如果手头有一个强大的C++编译器,切勿使用C。如果需要,可以使用禁止C++的所有功能的编码约定,包括标准C ++库,异常,RTTI以及C++符号修饰。但是,C++具有许多可以编写代码的功能。更具可读性…无需额外费用,更易于维护...无需额外

如果手头有一个强大的C++编译器,切勿使用C。

如果需要,可以使用禁止C++的所有功能的编码约定,包括标准C ++库,异常,RTTI以及C++符号修饰。

但是,C++具有许多可以编写代码的功能。


更具可读性…无需额外费用,

更易于维护...无需额外费用,

运行更快……无需额外费用,

开发速度更快……无需额外费用,

可以扩展并开放以进行关键变更…无需额外费用。

所谓成本,是指运行时性能,可执行文件大小和内存使用情况。但是,如果您愿意权衡取舍,那么事情可能只会变得更好。


一些更多的细节:

在最基本的层次上,可以从更丰富的语法和关键字中受益。例如auto,decltype,typename,using。在正确的上下文中嵌套信息。使用名称空间,限定常量,类型名和嵌套的typedef。还有一些语言功能可以消除C语言的冗长和晦涩之处:闭包vs f(void *),模板函数vs宏。

C程序是水平层,一层在另一层之上,抽象是一个void *。相同的信息需要反复编码,然后所有方面都反映了如何在一个方面实施这种更改。

在C++中,可以一次定义信息并将其传播以创建数据类型,匹配生产代码以及诊断所有这些维护类型安全且无运行时开销的信息。可以毫不费力地编写通用代码。由于重载,模板功能和类型特征,可以在不同的上下文中重用功能较小或较大的代码块,并可以任意组合。

这里的提示:C ++库之外的许多工具实际上不需要链接到C ++库二进制文件。


C ++编译器能够生成更好的优化代码的原因很多。强类型系统(查找强别名),使用const类型和const表达式。然后,用作智能宏的模板函数可以消除循环,并且许多元代码可以解决编译时和实际调用调用中的条件。

在不同的上下文中再次重用通用代码的能力意味着更少的代码编写。 C ++允许以较小的片段来破坏程序,从而可以进行更精细的测试和/或通过不同的横截面而不仅仅是层。测试是现代敏捷开发的基础。缺乏测试通常源于不良的可测试性,阻碍了开发,阻碍了重构并鼓励了技术债务的积累。

C的局限性倾向于使人们倾向于使用特定的分层代码。某些类型的抽象无法表达,因此位最终散布在代码库中并被复制。没有办法将它们作为功能实体一起进行测试。只要新功能适合现有体系结构,一切都将适中。当需要进行一种颠覆内部层次结构的改变时,这确实是一个痛苦。有很多代码重写,包括测试。风险很大。


总结一下

C ++具有许多小而强大的功能,这些功能累计产生了巨大的不同。它们中的许多易于掌握,可以在现有的C代码库中使用。其他可能在重构或技术债务清除期间添加。甚至元编程也可以逐渐丰富类似C的代码。

文章翻译自Quora

PS:另外对于学习编程或者正在工作的朋友,如果你想更好地提升你的编程能力乃至转行,学好C语言C++编程!弯道超车,快人一步!笔者觉得这里或许可以帮到你~

编程学习书籍分享:

编程学习视频分享:

分享(源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

点击下方【了解更多】获取更多学习资料哦~

相关资讯

为什么永远不会有语言取代C/C++?

数以百计的 C/C++ 替代品将会出现,但 C/C++ 将永远与我们同在!每个 CPU 都带有一种称为 ISA(指令集架构)汇编的电路语言。ISA 程序集是一种硬件语言,由基本数据操作、数学计算和结构化编程(即 jmp)的操作组成。但是,为

一个资深C语言工程师:浅说C语言的重要性以及如何学好C语言

前言C语言属于高级程序语言的一种,它的前身是“ALGOL”。其创始人是布朗·W·卡尼汉和丹尼斯·M·利奇。C语言问世时是带有很大的局限性,因为它只能用于UNIX系统上。然而随着科学技术的进步,计算机工业的发展,C语言逐渐脱离UNIX。198

学习编程,为什么98%的程序员都会从C语言开始?C语言这么强?

在互联网蓬勃发展的时代,有一类人做出了巨大的贡献,这一群人被大家称之为程序员,怎样才能成为一名优秀的程序员呢,为什么每一个程序员都需要学习C语言呢?就让我来跟大家分享分享:第一:相比较其他的编程语言(像C++,JAVA),C语言是个低级语言

都2020年了,C++还有必要认真学吗?

都2020年了,C++这一门编程语言已经奋斗在编程语言前线几十年了,一直都是备受推崇的一门编程语言!尤其是C++与C语言的相关性,让C/C++程序员成为业内程序员中的佼佼者。C语言一直都是大学计算机专业,乃至非计算机专业,必学的一门编程语言

C++介绍与入门学习

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应

985学校内部疯传,学完C++能做什么?

大家好,我是柠檬哥,专注编程知识分享。欢迎关注@程序员柠檬橙,编程路上不迷路,最近很多同学私信柠檬哥,问到C++的应用方向和工作方向,这就安排。C++和C语言相比于Java和Python,可以说是比较底层的语言。不像Java有GC,在C++

对比C++并发库,Rust简直不要太像

译者 | 卢鑫旺将Rust比作C++的小弟的话,相信大家都不会有异议。Rust借鉴了许多C++的设计思想。并发特性亦是如此。Rust标准库的并发特性与C++ 11中的特性非常相似:线程、原子操作、锁和互斥量、条件变量等等。然而,在过去的几年

PHP、Java、Python、C、C++这几种编程语言都有什么特点或优点?

一、强类型和弱类型语言:C、 C++、 Java 、Python都是强类型的语言。PHP是弱类型的语言。强类型语言是一种强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就是该数据类型。而弱类型语言是一种弱类型定义

C、C++、Java、JavaScript、PHP、Python分别用来开发什么?

首先,我们先普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,比如编写一篇文章,下载一首MP3等,而计算机干活的CPU只认识机器的指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。

TIOBE11月编程语言排行:Python超越C语言成第一!PHP将掉前十?

TIOBE 编程社区指数是编程语言流行程度的指标。该指数每月更新一次。评级基于全球熟练工程师、课程和第三方供应商的数量。谷歌、必应、雅虎、维基百科、亚马逊、YouTube 和百度等流行搜索引擎用于计算评分。需要注意的是,TIOBE 指数与最

友情链接

SEO域名抢注宝宝起名网妈妈知道币圈高端全屋定制官网开关插座品牌网天秤座第一星座网今日晋城平衡车资讯网舞蹈培训官网玛莎拉蒂跑车网芒果品种科普网自行车之家木地板品牌网西藏藏红花网唐诗宋词网挪威旅游网地铁出行网潘玮柏歌迷网
c语言中文官网-零基础c++从入门到精通pdf、c语言编译器、C/C++开发工具、c语言入门自学零基础、c++入门自学、c/c++软件下载、c语言编程软件、c语言自学免费网站、c语言零基础自学视频教程、c++手机编程软件、c语言入门程序设计、初级编程视频教程、c语言在线编程平台、C语言线上作业网站。
c语言中文官网 chuxinxin.cn ©2022-2028版权所有