面向过程编程风格.ppt

上传人:本田雅阁 文档编号:2603353 上传时间:2019-04-16 格式:PPT 页数:16 大小:343.51KB
返回 下载 相关 举报
面向过程编程风格.ppt_第1页
第1页 / 共16页
面向过程编程风格.ppt_第2页
第2页 / 共16页
面向过程编程风格.ppt_第3页
第3页 / 共16页
面向过程编程风格.ppt_第4页
第4页 / 共16页
面向过程编程风格.ppt_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《面向过程编程风格.ppt》由会员分享,可在线阅读,更多相关《面向过程编程风格.ppt(16页珍藏版)》请在三一文库上搜索。

1、1.4 面向过程编程风格,1.4.1 函数 1.4.2 局部静态变量 1.4.3 inline函数 1.4.4 重载 1.4.5 模板函数 1.4.6 函数指针 1.4.7 头文件包含,1.4.1 函数,使用函数的优点: 1)易读性,一般不超过500行; 2)复用性,避免重复代码; 3)团队协作 函数的4个部分: 1)返回类型,void无 2)函数名称,GetName()的易读英文 3)参数表,可void 4)函数主体,函数的注意,1)使用之前需申明(可不写参数名),申明与实现最好分别放在.h和.cpp中,模板例外 2)参数的合法性是否检查:由项目分工决定(关于数据类型的溢出) 3)常常使用b

2、ool型作为函数是否正常返回的返回类型,不使用exit(-1)这种武断的形式 )除void返回类型,其余必须明确各支线的返回值,否则编译出错/或警告,函数的调用,传值:参数被复制,函数调用完后,全部释放 传址:复制的是原实参对象的地址,函数调用结束,实参被改变 使用传址的优点: )可以方便对传入的对象进行修改; )可以得到多个返回值; )不用复制对象,效率得到提高,指针和引用区别,)都具有上述特点; swap(int * x1, int* x2); swap(int ,对象的生存空间,函数Local scope: 局部可见和有效。使用栈空间,不能使用局部指针或引用得到函数返回值(除static

3、),例如返回实数数组 File scope:文件可见、有效 外部:extern (”C”) 类型 函数或对象;,动态内存,使用堆空间 关键字 , 例子: int * pia = new int4; /array int * pi = new int(4); /initialize *pi=4 delete pia; delete pi; 注意memory leak内存泄露!,默认参数值,规则: )按照最右端开始匹配; )函数申明处,或者函数定义处,两者只可有一; )为了可见性,建议放在函数申明处,这样在函数调用时,开发环境直接提示,1.4.2 局部静态变量,函数弹出栈,static变量并不释放

4、,还有一种方式也行,效率差,求N!的递归算法,unsigned int fact (unsigned int n) static vector Fact; /Fact = new int; static unsigned int num = 0; if (n = num) return Factn-1; else unsigned int res; if(n = 1 | n = 0) res = 1; else res = n*fact(n-1); num = n; Fact.pushback(res); return res; /说明求3!, 5!, 4!的过程,1.4.3 inline函数

5、,编译器对其合并,而不是执行时压栈,对于常用的代码简单的程序块,建议使用inline,可以提高效率,1.4.4 重载,函数名相同,参数表不同(参数类型或参数数目) 函数返回值类型可同可不同,不能以返回值类型不同来定义重载,1.4.5 模板函数,对于参数表数目相同,只是类型不同,而且函数体相似(可以通过重载对象操作符或成员函数),可将这样的函数合并成函数模版,1.4.6 函数指针,用在程序中动态执行某个函数 定义函数指针 某函数中使用 使用前确定具体调用方法,函数定义,1.4.7 头文件包含,函数的申明,放入头文件中。注意: ) inline修饰,也放入头; )函数实现只能有一份; )多个文件包含的头文件,若公用全局对象,加 )“”与的区别,编译器搜索顺序:若引号则从当前的目录开始,则从库目录及另外环境设置的目录进行搜索。另一种观点是自定义与系统头文件之区别。,第一次 作业,1、练习1-7,pp33 2、练习2-6,pp65,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1