当前位置:首页 > 每日看点 > 正文内容

为什么我觉得C/C++好简单?

卡卷网11个月前 (12-02)每日看点181

很有可能是你没有见过生产级别的代码,甚至可能还不知道去哪里看。github上面有chrome/mysql/unreal engine之类的一大堆优秀软件的代码,个个都是就几百万行以上,你去看看自己能看懂几行,然后再来说简单不简单。

如果看完之后还觉得简单,那几百万/年的工作就是闭着眼睛找了。

从很远的地方看珠峰,就一个小山坡,感觉要爬上它易如反掌。距离越近,才会觉得越难。

编程也一样,你觉得它简单的时候,其实是因为离真正的编程还很遥远。

C语言语法级别的难,第一次见到的时候一头雾水的是这个:

send(to, from, count) register short *to, *from; register count; { register n = (count + 7) / 8; switch (count % 8) { case 0: do { *to = *from++; case 7: *to = *from++; case 6: *to = *from++; case 5: *to = *from++; case 4: *to = *from++; case 3: *to = *from++; case 2: *to = *from++; case 1: *to = *from++; } while (--n > 0); } }

do while和switch嵌套,其实是一种古老的发明:

en.wikipedia.org/wiki/D

算法级别的难,举个例子,Quake 3中求反平方根的算法,没人解释基本看不懂:

float InvSqrt (float x){ float xhalf = 0.5f*x; int i = *(int*)&x; i = 0x5f3759df - (i>>1); x = *(float*)&i; x = x*(1.5f - xhalf*x*x); return x; }

C++级别的难比C更多,数不胜数,当年让我觉得C++强大无比的是这个:

assert((o-----o | ! ! ! ! ! ! ! o-----o ).area == ( o---------o | ! ! ! o---------o ).area );

它其实是使用了一个库,在这里:

Multi-Dimensional Analog Literals

编程其实是一种技术活,类似于绘画、雕刻、篆刻、制陶烧瓷之类的传统工艺,只是它的载体变成了计算机。学习过程是类似的,无论智商多高,都无法跳过大量的长时间的练习和采坑摸索,任何一个人都不可能在两个月内从编程新手变成高手。

随手一发,没想到那么多人看。评论区说题主说的是C/C++语言,不是逻辑。好吧,要说C++语言本身有多难那就更简单了。

考察C++掌握程度的资源非常多,例如这个,打开看看,很有可能第一题你就不会:

cppquiz.org/

可以关注这个人的推,他经常提一些C++挑战性的问题:

twitter.com/shafikyaghm

还有一些常见的C++黑话,主要是一些C++编程技巧,有些甚至是C++独有的:

en.wikibooks.org/wiki/M

第一个链接里面只有几百道题,我这么说吧,知乎上懂C++的人一定可以出一千道甚至是一万道C++的题目是才学2个月C++的人答不出来的,而即使对学20年C++的人,出一百道答不出来的也没多大难度。

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

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

本文链接:https://www.kajuan.net/ttnews/2024/12/2603.html

分享给朋友:

相关文章

我爸讽刺我,写个破代码一年才十几万,他在工地带50个人,让我回去跟他干,写代码没出路,我该怎么选择?

我跟你一样的情况,本人现身说法,千万不要跟你爸干,我就是反面教材,现在想回去都回不去了,快十年没写代码了,再就是岁数大了,38岁了,35岁以上的码农根本就没公司愿意要,而且会受歧视。工程不好干,首先就是不合法,在法律层面,根本就没有包工头的...

你捡过最大的漏是什么?

你捡过最大的漏是什么?

买了套二手房,软磨硬泡便宜了1个w 结果就是一屋子狼藉 原业主说反正你们要重新装修 就不收拾了 等完了你们一起收拾掉吧 落了很多柜子 电器是啥的 今天打开卧室柜子一看…现在是去存钱的路上有朋友知道这样存钱银行会给发大米跟油吗...

下一个风口最可能是什么?

下一个风口最可能是什么?

肯定是一带一路了,国内没什么卷的空间了,现在国家正在给一带一路的第三世界国家建设基础设施,等交通打通之后,就是通信打通,通信打通就是贸易打通,未来我建议大家重仓小语种,阿拉伯语最值得学(也有其他小语种自己去查一带一路国家),将来去其他国家随...

PHP承载百万/天 访问量需要用到什么技术?

当年做一个百万PV的商城,也不过是两台2c4g的阿里云虚机罢了(其实一台就够,另外一台主要的逼着大家一定开发的时候一定要有负载均衡和横向扩容的意识)。当时框架还是Thinkphp3.2,框架提高运行效率的开关全打开,标准的lnmp模式,单机...

有没有能够兼顾便携并且流畅运行各种AI应用的笔记本?求推荐?

有没有能够兼顾便携并且流畅运行各种AI应用的笔记本?求推荐?

看了下题主的描述,可以考虑「联想YOGA Air 15 Aura AI元启版」,今年9月底出的一款轻薄本,也通过了英特尔Evo严苛认证。处理器用了英特尔最新的「酷睿 Ultra 7 258V」,主要亮点就是AI性能、图形处理能力和能效,很适...

怎样使自己处于高能量状态?

1、不要习惯性的回顾过去那些让你尴尬和犯了错误的事情,不要嫌弃自己蠢。学会原谅自己,当你不断回忆那些错误和囧事的时候,告诉自己:自己确实做错了,下次不要再犯即可,不需一遍遍的回忆。这件事情已经发生,不要再一遍遍的折磨自己,不断回忆一点好处没...

发表评论

访客

看不清,换一张

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