数据的共享与保护

1、标识符的作用域与可见性
(1)函数原型作用域
在函数原型声明时形式参数的作用范围就是函数原型作用域
double area(double radius); 标识符radius的作用范围就在函数area形参列表的左右括号之间, 在程序的其他地方不能引用这个标识符
(2)局部作用域
函数形参列表中形参的作用域, 从形参列表中的声明处开始, 到整个函数体结束之处为止
函数体内声明的变量,其作用域从声明处开始,一直到声明所在的块结束的大括号为止
具有局部作用域的变量也称为局部变量
(3)类作用域
<1>如果在X的成员函数中没有声明同名的局部作用域标识符, 那么在该函数内可以直接访问成员m
<2>通过表达式x.m或者X::m。这正是程序中访问对象成员的最基本方法。X::m的方式用于访问类的静态成员
<3>通过ptr->m这样的表达式,其中ptr为指向X类的一个对象的指针
(4)命名空间作用域
namespace 命名空间名
{
命名空间内的各种声明(函数声明、类声明、…)
}
具有命名空间作用域的变量也称为全局变量
(5)作用域可见性的一般规则
<1>标识符要声明在前,引用在后
<2>在同一作用域中,不能声明同名的标识符
<3>在没有互相包含关系的不同的作用域中声明的同名标识符,互不影响
<4>如果在两个或多个具有包含关系的作用域中声明了同名标识符,则外层标识符在内层不可见
2、对象的生存期
(1)静态生存期
如果对象的生存期与程序的运行期相同,则称它具有静态生存期
static int i;
局部作用域中静态变量的特点是,它并不会随着每次函数调用而产生一个副本,也不会随着函数返回而失效
(2)动态生存期
局部生存期对象诞生于声明点,结束于声明所在的块执行完毕之时

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值