第21章 还在继续! 这个学霸还在叠数值
“真是精闢的总结。”
里奇说完后,便仰头注视著面前的方格纸。
年仅三十岁的里奇,此刻目光却是如此深邃。
似乎在思考,又似乎只是纯粹的观赏这近乎完美的秩序。
良久,他才回到桌前,拿起那本一直摊开的笔记本,在上面缓缓写下了几行字,然后把那一页折了个角。
“拿著吧,孩子,这算是我送给你的回礼。”
李林接过笔记本。
来没来得及说些什么,眼前的一切就都开始碎裂、一寸一寸地崩塌。
【考验异常拋出,强制结束。】
似乎是察觉到了李林无奈的表情,里奇佇立在碎裂世界的中央,冲他挥了挥手。
他笑得很开心。
李林听不到他的声音,但仅从口型,隱约能看到……
“keep it simple。”
隨后,白光一闪。
【考验通过。】
【“c语言”水平提升(通晓→贯通)】
【获得物品:“里奇的隨笔”。】
【解析中……经后人整理,丹尼斯·里奇在开发c语言与unix期间隨手记录的工作笔记。前半部分是內存分配器的设计草图,后半部分是里奇与一位“不知名的访客”关於“面向对象”的对话记录。末尾有里奇手写的一行字:“也许现在还没有人能完全理解这个想法。但总有一天,会有人需要的。”】
【获得被动效果:“保持简单”——当面对复杂不可解问题时,你的思维会自动將其拆解为有限可解问题的组合。】
李林猛然回过神。
他这才意识到,他依旧在胡云程的办公室里。
但窗外的天色已经暗了下来。
李林低头看了一眼自己的双手,又看了一眼面前堆积的书本。
“……”
“喂!”
突然,胡云程的手在他面前摆了摆,
“睡著了,臭小子?!”
李林有些茫然地抬起头,明显还沉浸在刚才和里奇的深入交流之中。
胡云程看他那副魂不守舍的样子,哼了一声,把手中的手机递了过来。
“行了,我算是看出来了,你就是个犟种。”
他的语气还是一贯的不好听,但手中的动作却很乾脆,
“严老师,人家搞了二十年嵌入式开发,解决你的问题绰绰有余。”
李林眨眨眼,似乎还没反应过来,但手上已经被塞了个手机,
“总之,你有什么问题,最好一口气问明白了,问完就给我收心,再有疑问也得等初赛完了之后再折腾。否则——”
他做了个掐脖子的手势。
李林把手机拿到耳边,听筒里传来一个温和的中年男声,
“小同学,你那个问题,老胡跟我说了个大概。你能再复述一遍吗?我很感兴趣。”
李林下意识地开口,把自己的问题重新说了一遍——
当使用函数指针实现回调,且需要修改多个不同生命周期和类型的变量时,如何设计接口才能兼顾简洁性、类型安全与內存安全。
一边说著,李林在考验中梳理过一遍的知识开始隨著问题自然地翻涌、排列。
“这个嘛……”
电话那头的严正江听到问题,皱了皱眉头,似乎也陷入了思考。
但还没等他说些什么,李林自说自话地,便顺著刚才的思路继续往下推,
“……不对,其实答案已经在问题里了。”
“……”
严正江:?
在……在吗?
“把数据和函数指针封装在同一个结构体里,让结构体自己去管理生命周期。接口只暴露必要的函数指针,生命周期由拥有者负责。类型安全用函数指针的类型签名来保证。至於內存泄漏和悬空指针,在分配器里加哨兵值和已分配列表校验,拦截野指针。”
“……”
电话那头沉默了好几秒,
“来,小同学,你把手机先给胡老师。”
李林默默把手机递了过去,胡云程接过来就被手机那边的震声嚇了一跳,
“这人你从哪找来的?!”
“不是和你说了吗,我学生……”
“你的意思是,你隨便教出来的学生水平比我还高咯?”
“不是,我没教他……”
“你的意思是,不教比我教过的还强?”
“不是……”
“彳亍,老胡啊,老胡,就你有好苗子是吧!你给我等著!”
“別,老严——”
“嘟嘟嘟……”
“好啊,你小子——”
胡云程看了看手机,又看了看李林,面无表情的脸抽了抽,
“前面装成那样给我下套,合著是就是特地来我面前装逼是吧!”