1 / 44
文档名称:

数据的共享与保护.ppt

格式:ppt   大小:215KB   页数:44页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据的共享与保护.ppt

上传人:相惜 2022/2/18 文件大小:215 KB

下载得到文件列表

数据的共享与保护.ppt

相关文档

文档介绍

文档介绍:第五章 数据的共享与保护
佘欣媛
精选ppt
作用域与可见性
作用域:是标识符的有效范围;
可见性:标识符是否可以引用的问题;
精选ppt
作用域
1、函数原型的作用域
2、块作用域
3、类e::iSheNum;
void main()
{
iSheNum = 2;
cout<<iSheNum<<endl;
she:: iNotUsing = 3;
return;
}
这样子就对了
精选ppt
命名空间是开放的,即可以随时把新的成员名称加入到已有的命名空间之中去。
方法:多次声明和定义同一命名空间,每次添加自己的新成员和名称。
namespace A {       int i;       void f(); } // 现在A有成员i和f()
namespace A {       int j;       void g(); } // 现在A有成员i、f()、j和g()
精选ppt
命名空间可以嵌套定义
Namespace 命名空间名1
{
namespace 命名空间名2
{
};
};
精选ppt
namespace outer
{
int iOuter;
namespace inner
{
int iInner;
};
};
void main()
{
outer::iOuter = 5;
outer::inner::iInner = 6;
}
精选ppt
可见性
程序运行到某一点。能够引用到的标识符,就是该处可见的标识符。
可见性表示从内层作用域向外层作用域“看”时能看见什么。
块作用域
类作用域
命名空间作用域
作用域包含关系
精选ppt
作用域可见性的一般规则:
标识符应声明在先,引用在后。
在同一作用域中,不能声明同名的标识符。
如果某个标识符在外层中声明,且在内层中没有同一标识符的声明,则该标识符在内层可见。
对于两个嵌套的作用域,如果在内层作用域内声明了与外层作用域中同名的标识符,则外层作用域的标识符在内层不可见。
精选ppt
1、标识符应声明在先,引用在后
void main()
{
iNum = 9;
int iNum;
}
void main()
{
int iNum;
iNum = 9;
}
精选ppt
2、在同一作用域中,不能声明同名的标识符。
void main()
{
int iNum; // 变量的声明
int iNum = 9; //重复定义
}
//提示redefinition
精选ppt
如果某个标识符在外层中声明,且在内层中没有同一标识符的声明,则该标识符在内层可见。
对于两个嵌套的作用域,如果在内层作用域内声明了与外层作用域中同名的标识符,则外层作用域的标识符在内层不可见。
void main()
{
int a = 1;
{
int a = 2;
cout<<a<<endl;
}
}
精选ppt
对象的生存期
产生
结束
生存期
静态生存期
动态生存期
精选ppt
静态生存期
生存期与程序的运行期相同
从执行程序开始到退出程序
命名空间中的
函数内部有static修饰的
static int iNum;
开始运行程序
退出程序
精选ppt
void function1()
{
int iNum = 0;
iNum++;
cout<<iNum<<endl;
}
void main()
{
function1();
function1();
}
运行结果?
1
1
精选ppt
void function1()
{
static int iNum = 0;
iNum++;
cout<<iNum<<endl;
}
void main()
{
function1();
function1();
}
运行结果?
1
2
精选ppt
动态生存期
声明处
所在作用域结束
除了静态生存期的都是动态生存期
精选ppt
#include<>
void fun( );
void main( )
{
fun( );
fun( );
}
void fun( )
{
static int a=1;
int i=5;
a++;
i++