有其不足的地方,譬如说其可编程的能力就有所欠缺,实现很复杂的算法会比较困难,所以我才会让怡菁教我C++编程。当然啦,我所要学的的只是如何用C++来实现某个算法,至于程序界面、消息响应之类的玩意则不是我关心的内容,因为这些玩意不是短时间内能够弄明白的,而且对于我的研究来说也没有什么用。
“怡菁,为什么只是把函数的定义挪动了一下地方就没有问题了,而之前却出现那么多编译错误?”在短暂品味过成就感之后,我回过头问道。
怡菁收起嘻笑之色,耐心的向我解释道:“这其实是个非常简单的问题,几乎所有的编程语言的编译器都会要求,在调用某个函数之前必须要知道这个函数的声明,不然的话它就会像刚才我们看到的那样报出一堆错来,因为它不知道如何对函数的参数进行压栈。也正因为编译器只需要知道函数的声明,所以我们也可以不像刚才那样把函数的定义移到上面,而只是在上面加一句函数的声明,同样可以解决刚才的问题……”
“停、停、停……”我听的是一个头两个大,急急忙忙的打断了怡菁的话:“什么声明?什么压栈?怎么加句话就行了,你慢点讲清楚。”
看到我急迫的样子,怡菁忍不住笑了:“柳叔,你别着急嘛,听我慢慢给你说……”她稍微停顿了一下,整理了一下自己的思路后继续道:“柳叔,堆栈我之前已经给你讲过了,所谓的压栈就是指在调用函数之前,需要把相关的参数压入堆栈,所以一般就称为压栈。而所谓的函数声明,就是只对函数的参数和调用约定的一个描述,喏,就像这样…”怡菁一边给我解释着,一边给我示范起来。
22-24(27/48)