- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5、6章 函数机制、性能
第二部分 过程化编程语句第 5 章 函数机制 生物医学软件工程 内 容 概 要 5.1 函数性质 5.2 栈机制与堆 5.3 函数重载(※) 5.1 函数性质 5.2 栈机制 1 运行时内存布局 2 栈区、堆区 1 运行时内存布局 2 栈区、堆区 5.3 函数重载 不要求重载函数的函数体相同,但在使用重载函数时,同名函数的功能应当相同或相近; typedef 定义的类型只能相同于一个已存在的类型,不能建立新的类型,故不能用typedef定义的类型名类区分重载函数声明中的参数 . 默认参数 第二部分 过程化编程语句第 6 章 性能 生物医学软件工程 作用域访问运算符:: C++的注释方式 C++符号常量定义 * 函数的基本描述 函数的黑盒性、独立性 函数参数传递 函数指针 操作系统将程序装入内存后,将形成一个随时可以运行的进程空间。 进程空间的格局分为四个区域,我们将来逐一的进行介绍。 (1)全局数据区( data area); (2)代码区(code area); (3)栈区(stack area); (4)堆区(自由存储区 heap area); 全局变量、静态数据、常量存放在全局数据区 所有类成员函数和函数代码的存放区 为运行函数而分配的局部变量、函数参数、返回数据、返回地址等 余下的内存空间,存放程序的动态数据 操作系统返回值0 main函数 操作系统状态保护例程指针 入栈 返回操作系统地址 参数 局部变量 a 6 局部变量 b 12 主函数中的变量 Main状态保护例程指针 funcA 函数 返回值 8 返回main地址 形式参数 x 6 形式参数 y 12 局部变量 n 5 funcB函数 funcA状态保护例程指针 返回funcA地址 形式参数 s 引用 局部变量 x 8 在操作堆内存时,如果分配了内存,就有责任回收它否则运行的程序将会造成内存泄漏 . C++提供了操作符new和delete来分配和释放内存块,它们是C++语言的一部分,无需包含头文件 . new和delete运算符使用的一般格式: new分配数组空间时不能指定初值 . delete 一定要配对释放用 new 分配的内存, 否则会导致内存泄漏、程序失控 . 指针变量 = new 类型 (初值) 指针变量 =new 类型 [数组长度] delete 指针变量 delete [ ] 指针变量 //表示是对数组空间的操作 int *p = new int; //开辟一个存放整数的存储空间, //返回一个指向该存储空间的地址 int *p=new int (100); //开辟一个存放整数的空间,指定该整数初值为100,//返回指向该存储空间的地址 char *p=new char[10]; //开辟存放字符数组的空间 //返回首元素的地址 float *p=new float (3.14159); //开辟一个存放单精度数的空间,指定初值3.14159, //将返回的该存储空间的地址赋给指针变量p delete p; delete [ ] pt; //加一对方括号, //表示对数组空间的操作 【例】new和delete的用法 . #includeiostream #include string using namespace std ; struct Student { char name[10]; int num; char sex; }; int main() { Student *p ; p=new Student; strcpy ( p-name , Wang Fun); p-num =10123; p-sex =M; coutp-name p-num p-sexendl; delete p; return 0; } 【例】new和delete的用法2 . #includeiostream using namespace
原创力文档


文档评论(0)