作用域,可见性,生存期。
来源:互联网 发布:c语言实现汉罗塔 编辑:程序博客网 时间:2024/06/05 22:45
1.作用域表示某个标识符在什么范围有效;
函数原型中的参数,其作用域始于“(“,结束于”)”.例如,设有下列原型声明:double Area(double radius);radius的作用域仅在于此,不能用于程序正文其它地方。**块作用域:**在块中声明的标识符,其作用域自声明处起,限于块中,例如:
void fun (int a) { int b(a); cin>>b; if(b>0) { int c; ...... } }
**类和文件作用域:** 类作用域作用于特定的成员名,类及其对象有特殊的访问和作用域规则. 不在前述各个作用域中出现的声明,具有文件作用域,这样声明的标识符的作用域开始于声明点,结束于文件尾.**2.可见性指的是标识符是否可见,可引用.** 如果标识在某处可见,则可以在该处引用此标识符. 标识符应声明在先,引用在后. 在同一作用域中,不能声明同名的标识符. 如果某个标识符在外层中声明,且在内层中没有同一标识符的声明,则该标识符在内层可见. 对于两个嵌套的作用域,如果在内层作用域内声明了与外层作用域中同名的标识符,则外层作用域的标识符在内层不可见.
#include <iostream.h> int i;//文件作用域 { i=5; { inti;//块作用域 i=7; cout<<"i"<<i<<endl;//输出7 } cout<"i="<<i;//输出5 return 0; }
**3.对象的生存期:**对象从产生到结束的这段时间就是它的生存期。在对象生存期内,对象将保持它的值,直到被更新为止。**静态生存期:**这种生存期与程序的运行期相同.在文件作用域中声明的对象具有这种生存期.在函数内部声明静态生存期对象,要冠以关键字static
#include<iostream.h> int i=5;//文件作用域 int main() { cout<<"i="<<i<<endl;//i具有静态生存期 return 0; }
动态生存期:
块作用域中声明的对象是动态生存期的对象(习惯称局部生存期对象)
开始于程序执行到声明点时,结束于命名该标识符的作用域结束处。
#include <iostream.h>void fun();void main(){ fun(); fun();} void fun (){ static int a=1; int i=5; a++; i++; cout<"i="<<i<<",a="<<a<<endl; }}
阅读全文
1 0
- 作用域,可见性,生存期。
- 存储类型、作用域、可见性和生存期C++
- c++变量的作用域、生存期和可见性
- 变量的作用域,可见性与生存期
- 第七讲:作用域.可见性.生存期.全局对象
- 可见性和生存期
- 可见性与生存期
- 可见性与生存期
- 变量的生存期和可见性
- 变量的生存期与可见性
- 可见性和生存期的比较
- 浅谈可见性与生存期
- 生存期与作用域
- 对象的生存期——变量的生存期与可见性
- C++中的生存期和作用域
- 变量的作用域及生存期
- 变量的生存期和作用域
- 变量的作用域和生存期
- vue首次赋值不触发watch
- 关于函数中要传递不确定性参数的方法:*args、**kwargs
- 网易2017内推笔试2:两种排序方法 [python]
- jenkins安装与使用
- nano pi neo2 上Ubuntu-core自行编译ffmpeg c库使用Ubuntu 16.04
- 作用域,可见性,生存期。
- 例题6.1 铁轨【算法入门经典】
- Android事件分发机制
- 基于html5 Canvas图表库 : ECharts
- sdnu 1033 采药
- Mybatis学习总结(一)
- Unsupported major.minor version 51.0 (unable to load class org.test.luntan.util.SessionClear)
- AIX 常用命令
- python time模块