当前位置:首页 > 每日看点

C++过于复杂为什么不被淘汰?

卡卷网1年前 (2025-01-07)每日看点344

“过于复杂”指的是加入了冗余的部分,使得本该简单事情变复杂了。

然而啊。。。C++的复杂并不是如你所想。

C++的核心设计哲学是ZeroOverhead。啥意思?说人话就是:你没有用到的特性,不应该给你带来任何负担。

这个哲学的好处在哪里?当你没有学到/用到一个知识点的时候,你不需要为它付出代价。

当你不明白左值右值的时候,单纯地传值就可以玩的很Happy,而当你想要榨取性能,避免拷贝复制的时候,你才需要和复杂的左右值,std::move,标准swap和对象内建swap等听起来就有点晕的概念搏斗一下。

当你不需要自己设计内存分配机制,就完全不需要理会allocator这个听起来就不是很简单的东西,放心地使用STL内置的default部分。但是你在嵌入式环境下或者近实时作里想要确保内存分配的速度和效率,就可以看看怎么重载一下operatornew之类的方法。

当你不需要使用模板工作时,大可以把C++当成一个带类的C玩得飞起。不需要为各种偏特化,类型萃取,integral,std::tuple等高阶咒语头疼不已。但是你需要构建一套需要非常灵活拓展的framework,又不想受限于复杂的继承体制时,variadictemplate和concept就是你最好的朋友。

在你不熟悉FP的时候,完全可以不去考虑lamda表达式,不去考虑std::function,不去写那些高阶函数。但是当你觉得想把Lisp和Haskell中有些概念如闭包、monad等搬到C++时,你会觉得其实这些东西蛮顺手的。

这多么人性化!C++为不同的能力阶段的人提供了不同层次的工具,而且它们几乎完全正交!

但是就是有些人要跳出来“太复杂啦!我们需要简单的语言!”

爱因斯坦说过一句话“科学要简单,但不是过于简单。”简单的是概念和概念的层次,却不是概念的数量和概念本身的复杂程度。狭义相对论可以把麦克斯维方程组用一个简单的张量公式表示,却不能避免张量概念本身的复杂性。

经典力学是不是太复杂啦,我们需要简单的!有啊,牛顿力学。只要你不涉及到速度、质量足够大的场景,就不需要相对论;

流体力学是不是太复杂啦?我们需要简单的!有啊,简单流体力学。只要你不涉及湍流,就不要考虑数值求解内维尔-斯托克斯方程。

量子力学是不是太复杂啦?我们需要简单的!有啊,普通量子力学。只要你不涉及复杂多体交换关联势,你就不需要学习高量和重正化群。

C++是不是太复杂啦?得啦,当你面对的问题还都不涉及到你暂时用不到的内容时,C++够简单啦。。。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/6790.html

分享给朋友:

相关文章

中国CEO直播简史

中国CEO直播简史

领导人爱对外发言这事,是中国的一个传统文化。 从乾隆爱往名画上盖章上,就可见一斑。 3Q大战时代,微博成了大佬“吵架”的战场,饭否变成了部分爱面子者的日记。…

有什么音乐软件可以全部免费下载歌曲?

有什么音乐软件可以全部免费下载歌曲?

作为音乐发烧友, 我几乎把市面上所有的 发烧碟、试音碟,全都给收藏,下载下来了!音质都是无损的,品质特别高,有5.1环绕的、有DTS的、有中文的、有英文的。 大家可以看看这个音乐目录,大概有30万张专辑。 有需要下载软件的朋友,可以双击…

知乎创作收益高吗?

知乎创作收益高吗?

高啊,主要是大多数人不知道怎么做。(这是以前写的,请看到最后) 我之前就是傻傻写问答,文章,结果一毛钱收益没有。 知乎上收益高的主要有盐选,好物推荐,致知计划,付费咨询。1、盐选吧,是写故事,小说类的天堂,还有就是大咖们的地盘了,难度高。…

大量刷短视频,会让大脑变笨拙吗?

会。 我曾经是一名高三学生,亲身实践过。 当时集中突破语文,每天都在刷语文卷。然后有一天想躺一下刷手机,结果短视频刷完了,我再去看哪些文章,只觉头晕眼花,难以理解文字。不过好在这种情况是短时间的,过了一天我的能力又恢复了。 在我看来,长期刷…

马云也搞不明白:为什么现在用户偏爱微信支付,而不是支付宝?

这题我会,我教马云一招。 你直接把你那破比支付宝的代码全删了,重新写一个。 打开支付宝直接就是一个大大的支付码,然后右上角按一下就是扫一扫。你要是还想保留你的其他那些乱七八糟的功能,麻烦将他们全部做到下拉菜单里。你这么设计我不说你能干死微信…

有哪些网站,一旦知道,你就离不开了?

有哪些网站,一旦知道,你就离不开了?

这六个网站,一旦用过,基本上是离不开了。都是我超爱的一些网站,基本上每天都用。 1 地图生成器 第一个,我要给大家推荐的是地图生成器。可以下载到各省,各市,各县的svg格式的地图素材。 这些素材导入PPT中都是可以编辑的。 可以单独更改颜色…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。