豌豆文学

豌豆文学>科技革命进程 > 第201章 心生后悔的郑明(第1页)

第201章 心生后悔的郑明(第1页)

因为郑明是一名优秀的程序员,秦奕先带着他来到李勇军这边,让他了解“乾坤”

语言和“方寸”

编辑器。

郑明看了一会儿乾坤的示例代码,虽然关键字不一样,但他还是通过程序结构,立刻意识到这门叫“乾坤”

的语言是从C语言衍生出来的。

它有着和C语言类似的基础语法元素、控制结构、函数定义与调用等。

不过,它没有C语言里强大却相对复杂且容易出错、让人又爱又恨的指针运算符,也没有C语言头文件和实现文件分离的设计。

变量的作用域管理也大不相同。

在C语言中,一个文件内的全局变量默认是项目全局变量;而在“乾坤”

里,同样的声明方式得到的是一个单文件全局变量,也就是说项目的每一个文件都自带命名空间。

头文件和作用域的这种改动是否合理,见仁见智。

不过郑明最疑惑的是这门语言关于指针的改动:“你们这语言没有指针相关操作的话,怎么让函数的修改传递出来给调用方?”

李勇军解释道:“实际上,在‘乾坤’这门语言里,函数对变量的所有修改都能传递出来。”

“在这门语言里面,变量实际上是对象的引用,这和指针有相似之处,它们都指向内存中的某个位置。”

“当把一个对象赋值给一个变量时,变量存储的是对象在内存中的引用,而不是对象本身的值。”

“函数参数传递也是基于引用的,当将对象作为参数传递给函数时,实际上传递的是对象的引用,函数内部对该对象的修改会影响到原始对象。”

郑明听到这话,十分震惊:“你这意思是,其实你们这函数里面是没有值传递的!”

李勇军点了点头:“是的。”

郑明思考了一下:“那这样子很可能会导致一些不想传递的修改被传递出来。”

李勇军说道:“这是自然的,设计本身就是一种权衡。”

“我认为只有引用传递带来的好处远大于它带来的坏处,而且在较大规模的软件工程当中,大部分变量都包含众多成员变量,更经常出现的情况其实是不小心用了值传递带来的一些问题。”

“了解。”

郑明若有所思地点了点头,然后总结道,“我理解现在‘乾坤’语言相对C语言改进的地方有这几块。”

“第一个是刚才讨论的指针能力的改动。

第二个是内置了像是字典、可变数组、类这样的高级数据结构,还有不少像是求和、最大值、最小值这种默认函数。

第三个是用缩进来表示代码块,避免了大括号带来的视觉干扰。

请勿开启浏览器阅读模式,否则将导致章节内容缺失及无法阅读下一章。

相邻推荐:原神:天理,开门,逐火十三英桀  别逃,我的妻!  长安幻想鼓点  异种  替嫁皇妃嫁到,撩拨皇子脸红心跳  影视快穿,财神爷家的傲娇公主  病娇:解释你不听,分手你刀我?  娇养  神魂归!血脉醒!她抬手寂灭神魔  凡人:职场商战  被偏执女神看上以后  大果重生将军府  我帝皇铠甲,在末世镇压百国诸神  师尊你会爱上我吗  踹翻剧情后,我火速随军乐逍遥  我家宗主有亿点苟  末世来了我在安全区,爽了  (综漫同人)穿成名柯五人组老师后  末世:我的风灵月影并不是很好使  名柯琴酒?尝一口,呸!恋爱脑  

已完结热门小说推荐

最新标签