手机浏览器扫描二维码访问
因为郑明是一名优秀的程序员,秦奕先带着他来到李勇军这边,让他了解
“乾坤”
语言和
“方寸”
编辑器。
郑明看了一会儿乾坤的示例代码,虽然关键字不一样,但他还是通过程序结构,立刻意识到这门叫
“乾坤”
的语言是从
c
语言衍生出来的。
它有着和
c
语言类似的基础语法元素、控制结构、函数定义与调用等。
不过,它没有
c
语言里强大却相对复杂且容易出错、让人又爱又恨的指针运算符,也没有
c
语言头文件和实现文件分离的设计。
变量的作用域管理也大不相同。
在
c
语言中,一个文件内的全局变量默认是项目全局变量;而在
“乾坤”
里,同样的声明方式得到的是一个单文件全局变量,也就是说项目的每一个文件都自带命名空间。
头文件和作用域的这种改动是否合理,见仁见智。
不过郑明最疑惑的是这门语言关于指针的改动:“你们这语言没有指针相关操作的话,怎么让函数的修改传递出来给调用方?”
李勇军解释道:“实际上,在‘乾坤’这门语言里,函数对变量的所有修改都能传递出来。”
“在这门语言里面,变量实际上是对象的引用,这和指针有相似之处,它们都指向内存中的某个位置。”
“当把一个对象赋值给一个变量时,变量存储的是对象在内存中的引用,而不是对象本身的值。”
“函数参数传递也是基于引用的,当将对象作为参数传递给函数时,实际上传递的是对象的引用,函数内部对该对象的修改会影响到原始对象。”
郑明听到这话,十分震惊:“你这意思是,其实你们这函数里面是没有值传递的!”
李勇军点了点头:“是的。”
郑明思考了一下:“那这样子很可能会导致一些不想传递的修改被传递出来。”
李勇军说道:“这是自然的,设计本身就是一种权衡。”
“我认为只有引用传递带来的好处远大于它带来的坏处,而且在较大规模的软件工程当中,大部分变量都包含众多成员变量,更经常出现的情况其实是不小心用了值传递带来的一些问题。”
“了解。”
郑明若有所思地点了点头,然后总结道,“我理解现在‘乾坤’语言相对
c
重生83:从赶山开始发家致富 阿斌历险记 认亲侯府被替嫁,玄学祖宗闹翻天 认鬼做母:他真不按套路出牌 最强渔夫:海岛奶爸 大日合欢吞天诀 夫人逃婚后,少帅追妻不装了! 剑仙李白之异界问道录 综漫:从鬼灭开始俘获女神 这天下第一宗有我,是灭定了! 为民亮剑 明月依旧照山河 旷世邪尊 本是无情人,怎奈有情生? 转生:逐步登顶成为蛇神 师妹万万不可 暴君的第一女相师皇后 禅宗小子 又是一年三月三 洪荒:九叶剑草到鸿蒙灵根
一个集合口袋妖怪,数码宝贝等等游戏,动漫的游戏正式登陆全球,谁才是最强的训练家,谁才是游戏里最强的宠物,且看罗炎称霸漫兽竞技场,一步一步从无名小卒爬上神坛。...
...
男人一辈子最值得骄傲的事里包括服一次役,当一回特种兵,和世界上最强的军人交手。还有,为自己的祖国奉献一次青春,为这片热土上的人民拼一次命。这些,庄严都做到了。(此书致敬每一位曾为国家奉献过青春,流过血洒过汗的共和国军人!读者群号764555748)...
最强系统,我就是最强!还有谁?叶风看着众多的天骄,脸色淡定无比!获得最强系统,经验可复制对方的功法神通,可升级功法神通品阶无所不能,唯有最强!碾压苍穹,打爆世间一切不服者!...
甜宠无虐+日更+萌宝+智脑一个大佬和重生来的小媳妇甜蜜日常!一个娱乐小透明凭借智脑逆袭成超级影后的故事~...
...