codecamp

C++ 多函数编程

当你看一个包含若干函数的类定义时,习惯从头看到尾,但这有可能带来混淆,因为这并不是程序的执行顺序。

程序往往从main函数的第一条语句开始执行,不管它出现在程序的什么位置(通常在最底部)。语句被逐条执行,直到遇到函数调用处。函数调用就像程序执行流程中的回转道,使你来到被调函数的第一行代码——而非顺序上的下一条语句,然后执行所有的函数语句,再回到刚才中断的地方,继续下去。

听起来简单的可以,但你得记住一个函数可以调用另一个函数。这样,我们在执行main函数中途会停住,然后去执行threeLine的语句;而在执行threeLine时,有可能中断3次转而去执行newLine。

所幸的是C++擅长这种追踪足迹的工作,所以每当newLine执行完时,程序总能重拾在threeLine中的中断之处,最终回到main,因而程序总有终止的时候。

这个麻烦的故事告诉我们什么呢?当你读程序的时候,不要从头读到尾,而要跟着执行流程走。

C++ 定义与使用函数
C++ 参数与参数值
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }