第一天从程序员出来,就看到旁边有个递归函数,慢得出奇!他想,这就是我的妈妈!它坐过去喊:“Debug”,没有任何反应。这是一个小错误,我注意到这个递归函数终于找到了返回值。而我自己,仍然在无休止的循环中。这时,一个细小的声音记起来了:“不是你妈,不是bug,不需要调试!”小虫子顺着威风,看到一个速度不算太快的小函数用气势注视着他。“你是谁?”“我是广度优先搜索函数,这个大佬是搜索算法,叫深度优先搜索函数!还是用递归!”。“好厉害!还可以分成很多次级任务!!”“一点都不快,哈哈,我们的名字很像,只是我们的搜索策略不一样,但是在空间复杂度上,它是比不上我的!我的应用非常大,甚至网络爬虫可以用我的算法!”“这是哪里?”“这是一个成员函数声明!和深度优先搜索函数一样,我是图类Function的成员。运行时需要创建一个队列。深度优先搜索函数运行起来并不容易.它必须先调用系统栈,把自己的函数地址变量神马的信息全部压入系统栈,然后遍历节点,等这个分支遍历完再遍历下一个,它的递归树呈几何级数增长!我只需要创建一个队列,不用管低效的编译器优化,因为所有的调用都由我自己控制!遍历完这个节点,遍历同级节点!非常节省空间!赞?“好的!”“可是我们的搜索深度没有这家伙大,如果叫他,他永远会遍历到叶子节点!”“哦,真是了不起,你们家里还有比他跑得快的人吗?”“是的!”“如果你想做路径搜索,启发式A*算法就是了!在巨大的二维地图中寻找最短路径,比逐像素遍历快多了!”小虫子惊呼:“太神奇了!”“你想找你妈,编译错误和逻辑错误,你还不找你亲戚问问!我看到了,就在那边!”小虫子走过去,听到他们在聊天。编译错误说:“现在编译器真的很困惑。有时候我可以在for循环里面定义变量,有时候就变成重定义了!乱七八糟的编译器版本,真是让这些ACMer苦不堪言啊!出色地!麻烦!逻辑错误说:“我更烦恼了!”无论如何,您可以使用编译器来检测它。只要我们一出现,不单步调试就很难找出错误在哪里!没有办法,只能重建系统。..”正如他所说,一个逻辑错误在函数前面加了一个断点,“都是因为程序员前一天晚上喝咖啡熬夜到4点!现在只要写代码,基本都是逻辑错误,脑子转不转!”。编译错误说:“我们也惨,不管你说什么,你照样被处死,我们连被处死的机会都没有!”逻辑错误:“怎么又是这样?“编译错误:”我的程序员使用编译语言,而不是脚本语言。编译出错,一行都执行不了!”小虫子走到他们面前说:“叔叔们,你们见过我妈吗?”编译错误:“哦,你是小虫子吧?你妈妈以前住在这里,因为什么原因搬家之前!你可以问一下销毁者,所有的对象在销毁前都会报告给他,它在路上有很多朋友!”小虫子:“这个名字听起来像个死神!””编译错误:“不是吗!他们的作用很大。它们可以将对象占用的资源释放给系统,防止野指针的产生!”小虫子:“怎么叫?”编译错误:“大部分不是系统调用?当对象即将被销毁,或者程序员对对象使用delete时,这时候就会调用析构函数!调用后,系统会切换回执行析构函数后的语句!“逻辑错误:”是的!你可以关注一个快要被销毁的对象,他或许能帮你一点忙,走下调用语句,早晚会找到你妈的!”小虫子:“好的,谢谢你们!”小虫钻进了对象,顺着函数调用队列走着,突然碰到了一条执行到一半的语句,上面有一个大箭头。“你是?””这时,粗细两个声音说道:不是我,是我们!我们是两个指标!他是断点,我是执行指标箭头!”断点说:“我们常相见,又相别。”“好难过,自从程序写完你们就在一起了?”“不是,我们最小的时候,程序员不知道有bug,所以不会调试,直接跑。那个时候断点会被忽略,执行指示箭头甚至从来没有出现过!直到程序出了bug,而程序员不知道问题出在哪里,才需要用我们调试的时候,程序指示箭头会自动跳转到第一个Breakpoint,我们遇到了!小虫子:“厉害了!你还能被程序员选择性执行?”“没什么,跳进跳出都是程序员控制的!”“太神奇了!问:你见过我妈妈吗?”“退货声明我好像听说过,但不确定。”小虫子走啊走啊走到了函数的最后。一个回帖过来说道:“听说你找你妈妈,老板让我带你走。”“谢谢你!”“不用客气,反正我也得走这条路。”号码的右边,还带着一堆从天而降的数据,必须接住。小虫子摸了摸等号,问:“你见过我妈妈吗?”“不,你认识我吗?”“不。”“你怎么连我都不认识?我是个赋值操作员。”回句说:“老板说他讲故事好可爱好可爱,我们暂时不能去,我们歇着吧。”“你累了,听叔叔讲故事吧!”““好的!”“给你讲讲我的青春故事吧。刚开始程序员写的时候我是双目算子,后来被重写了。他好像叫运算符重载!”“为什么不能像sizeof那样重载呢?""因为sizeof有一个固定的函数!求数据的长度,我的等号不一定是用来赋值的!”return语句说:“这有点像我们!但我们只是调用它并跳出函数。“小子有野心!”“大叔,你一个人在吗?”“”“不,还有变量和变量类型!”小虫子注意到旁边有个变量。“他也是保留字吗?”“不是一个保留字,而是一个标识符。“旁边那个int呢?”“”那是它的数据类型life,叫整型!”“有意思!”小虫子想改,等号赶紧阻止:“不要改,要是数据类型改了就麻烦了!”如果不能自动类型转换,程序就会崩溃!”听完故事,小虫子又走了一遍,走到组装存放区的时候,小虫子突然感觉一阵强烈的雷击,程序卡住了!return语句大声喊着!抓紧!我们马上就要被调试了!小虫子突然觉得自己身上的器官排列有问题,就想办法换了几个器官的位置,结果被程序指示箭头扫了个遍。被调试!它变成了一个正确的句子!”“可我还没找到妈妈呢!”小虫子又难过起来了。“儿子,我来了!我在程序员没喝完的咖啡里!”“小虫子冲出屏幕,抱住了慈祥的妈妈。“其实,你路过这里的时候我看到了你,但我没有叫你,他躲在一个角落里,因为只有经过程序员的调试,你才能成为正确的句子。你看,你已经被调试过了。”!变成了正确的句子!“是!妈妈!我们再也不会分开了!!”
