C++ 标识符作用域以及对象生存期
来源:互联网 发布:sql建立学生表 编辑:程序博客网 时间:2024/06/03 16:44
1、C++中标识符作用域:
函数原型作用域:在函数声明中形参列表左右括号之间;
局部作用域(块作用域):声明变量所在的大括号之间
类作用域:类的成员所具有的作用域
命名空间作用域:using namespace std;全局命名空间
2、对象生存期:
静态生存期:在空间命名作用域中生命的对象具有静态生存期,与程序的运行期相同。在函数内部的局部作用域中声明具有静态生存期的对象,要使用关键字static,局部作用域中的静态变量,当一个函数返回后,下一次再调用时该变量还会保存上一回的值。
动态生存期:除上述两种情况,其余的对象都具有动态生存期。动态生存期变量不指定初始值意味着初始值不定。
【注】函数中的静态局部变量,具有全局寿命,只在第一次进入函数时初始化,以后调用时保留上一次的数值;而函数中的动态变量每次进入函数时都需要初始化。
#include <iostream>using namespace std;int i=1;//变量i具有命名空间作用域,静态全局变量,具有静态生存期 void fun(){static int a=2;static int b;//静态局部变量,只在第一次进入函数时初始化 int c=10;//动态局部变量 ,每次进入函数都要初始化 a+=2;c+=5;i+=32;cout<<"---fun---"<<endl;cout<<"i:"<<i<<"a:"<<a<<"b:"<<b<<"c:"<<c<<endl;b=a;}int main(){static int a;//main函数中的静态局部变量 int b=-10;int c=0; //main函数中的动态局部变量cout<<"---main---"<<endl;cout<<"i:"<<i<<"a:"<<a<<"b:"<<b<<"c:"<<c<<endl;c+=8;fun();cout<<"---main---"<<endl;cout<<"i:"<<i<<"a:"<<a<<"b:"<<b<<"c:"<<c<<endl;i+=10;fun();return 0; }【注】结构化程序设计中程序模块的基本单位是函数,模块间对内存中数据的共享是通过函数之间的数据共享实现的。有两种途径:参数传递和全局变量!
0 0
- C++ 标识符作用域以及对象生存期
- C++中四种对象生存期和作用域以及static用法总结
- 类的作用域和对象的生存期
- 生存期与作用域
- C语言的变量的作用域和生存期
- C语言变量作用域、生存期及static问题
- C语言的变量的作用域和生存期
- C语言的变量的作用域和生存期
- 关于C变量作用域和生存期的常见问题
- C/C++的变量生存期和作用域
- C++中的生存期和作用域
- 变量的作用域及生存期
- 变量的生存期和作用域
- 变量的作用域和生存期
- 作用域 生存期 static extern..........
- C++作用域和生存期
- 08.作用域和生存期
- 作用域,可见性,生存期。
- 第六章 访问权限控制
- 工作队列(系统工作队列和自定义工作队列使用区别) tasklet
- IO流_递归输出指定目录下所有的java文件的绝对路径案例
- 放在模型窝喷里面的无极变速
- java通过SMTP发送QQ邮件的完全步骤
- C++ 标识符作用域以及对象生存期
- LNMP搭建
- NodeJs模块实例02_buffer、fs和fsdir
- php给日期添加一段时间
- java零碎知识点整理
- android之interpolator的用法详解
- Spring MVC的多视图解析器配置及与Freemarker的集成
- 移动距离
- Maven系列--pom.xml 配置详解