- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据的共享和保护第1页/共59页函数原型的作用域作用域与可见性函数原型中的参数,其作用域始于(,结束于)。例如,设有下列原型声明:double Area(double radius);radius 的作用域仅在于此,不能用于程序正文其它地方,因而可有可无。a的作用域b的作用域c的作用域第2页/共59页局部作用域在函数体中声明的标识符,其作用域自声明处起,一直到声明所在的块结束的大括号为止。例如:void fun(int a){ int b=a; cinb; if (b0) { int c; ...... }} 作用域与可见性第3页/共59页类作用域作用域与可见性类作用域作用于特定的成员名。类X的成员m具有类作用域,对m的访问方式如下: 如果在X的成员函数中没有声明同名的局部作用域标识符,那么在该函数内可以访问成员m。通过表达式x.m或者X::m访问。通过表达式prt-m。第4页/共59页命名空间作用域作用域与可见性命名空间的语法: namespace 命名空间名{命名空间内的各种声明}第5页/共59页命名空间作用域作用域与可见性一个命名空间确定了一个命名空间作用域,凡是在该命名空间之内声明的、不属于前面所述各个作用域的标识符,都属于该命名空间作用域。在命名空间内部可以直接使用当前命名空间中声明的标识符。如果需要使用其他命名空间的标识符,需要使用下面的语法:命名空间名::标识符名第6页/共59页命名空间作用域作用域与可见性using 语句:using 命名空间名::标识符using namespace 命名空间名全局命名空间:是一个默认的命名空间,在显示声明的命名空间之外声明的标识符都在一个全局命名空间中。匿名命名空间第7页/共59页命名空间作用域作用域与可见性#include iostreamusing namespace std;int i; //在全局命名空间中的全局变量namespace Ns{ int j; //在命名空间Ns中的全局变量}第8页/共59页命名空间作用域int main(){ i=5; //为全局变量i赋值 Ns::j=6;//为全局变量j赋值 { //一个块的开始 using namespace Ns; //在当前块中可以使用Ns命名空间中的标识符 int i; //局部变量 i=7; //给局部变量赋值 couti=iendl; coutj=jendl; } couti=iendl;//输出全局变量i return 0;}作用域与可见性命名作用域类作用域局部作用域第9页/共59页可见性作用域与可见性可见性是从对标识符的引用的角度来谈的概念可见性表示从内层作用域向外层作用域“看”时能看见什么。如果标识在某处可见,则就可以在该处引用此标识符。第10页/共59页可见性标识符应声明在先,引用在后。如果某个标识符在外层中声明,且在内层中没有同一标识符的声明,则该标识符在内层可见。对于两个嵌套的作用域,如果在内层作用域内声明了与外层作用域中同名的标识符,则外层作用域的标识符在内层不可见。作用域与可见性对象的生存期第11页/共59页对象的生存期对象从诞生到结束的这段时间就是它的生存期。在对象生存期内,对象将保持它的值,直到被更新为止。静态生存期第12页/共59页对象的生存期静态生存期与程序的运行期相同。在命名空间作用域中声明的对象具有静态生存期。在函数内部声明静态生存期对象,则要使用关键字static 。动态生存期第13页/共59页对象的生存期除上述两种情况,其余的对象都具有动态生存期。局部作用域中声明的,没有用static修是的对象是动态生存期的对象(习惯称局部生存期对象)。局部生存期对象诞生于声明点,结束于命名该标识符的作用域结束处。例5-2 变量的生存期与可见性第14页/共59页#includeiostreamusing namespace std;int i=1; // i 为全局变量,具有静态生存期。void other(void){ static int a=2; static int b; // a,b为静态局部变量,具有全局寿命,局部可见。 //只第一次进入函数时被初始化。 int c=10; // C为局部变量,具有动态生存期, //每次进入函数时都初始化。 a=a+2; i=i+32; c=c+5; cout---OTHER---\n; cout i: i a: a b: b c: cendl; b=a;}对象的生存期例5-2 变量的生存期与可见性第15页/共59页int main(){ static int a; // 静态局部变量,有全局寿命,局部可见。 int b=-10; // b, c为局部变量,具有动态生存期。 int c=0; cout
您可能关注的文档
- 人教小学语文三年级上册我们的民族小学.pptx
- 数控机床电气控制系统.pptx
- 健康教育传染病防治.pptx
- 文化的概念及其与国际商务.pptx
- 探究影响导体电阻大小的因素.pptx
- 教室一角板报设计.pptx
- 时分数乘分数2.pptx
- 初中英语九年级.pptx
- 人教以内进位加法表.pptx
- erp的作用与发展历程.pptx
- 2025四川天府银行社会招聘备考题库(攀枝花)含答案详解(最新).docx
- 2025四川银行首席信息官社会招聘备考题库及完整答案详解1套.docx
- 2025四川天府银行社会招聘备考题库(攀枝花)带答案详解.docx
- 2025四川天府银行社会招聘备考题库(成都)含答案详解(a卷).docx
- 2025四川广元市利州区选聘社区工作者50人备考题库及答案详解(基础+提升).docx
- 2025天津银行资产负债管理部总经理或副总经理招聘1人备考题库含答案详解(典型题).docx
- 2025四川天府银行社会招聘备考题库(西充)附答案详解(考试直接用).docx
- 2025年中国民生银行南宁分行招聘2人备考题库及答案详解(全优).docx
- 2025天津银行高级研究人才招聘备考题库附答案详解(达标题).docx
- 2025大连银行营口分行招聘2人备考题库及参考答案详解一套.docx
最近下载
- 传染病防治护理指南(最新版).docx VIP
- 内部控制与风险管理(中南财经政法大学)中国大学MOOC 慕课 章节测验 期末考试答案.pdf VIP
- 学堂在线 临床中成药应用 章节测试答案.docx VIP
- 丽声北极星分级绘本+四上Unit3The+King's+Yu+Player课件.pptx
- 山东土地发展集团真题.pdf
- 加强意识形态工作坚决维护意识形态安全(1).pptx VIP
- 注塑机设备日常点检表.xls VIP
- 2025四川川投(泸州)燃气发电有限公司第一批员工招聘18人笔试备考试题及答案解析.docx VIP
- 党课ppt+word讲稿:医疗卫健系统二十届四中全会精神宣讲党课(7900字,46张)ppt.pptx VIP
- 《经口鼻吸痰技术操作规范》课件.ppt VIP
原创力文档


文档评论(0)