当前位置: 首页 > news >正文

深圳网站优化软件网站运营和维护

深圳网站优化软件,网站运营和维护,新沂网页设计,优秀的网站建设解决方案域与对象的生命周期 域的概念 域 (scope) 表示了程序中的一部分,其中的名称有唯一的含义 ● 全局域( global scope ):程序最外围的域,其中定义的是全局对象 ● 块域( block scope )&#xff0…

域与对象的生命周期

域的概念

域 (scope) 表示了程序中的一部分,其中的名称有唯一的含义
● 全局域( global scope ):程序最外围的域,其中定义的是全局对象
● 块域( block scope ),使用大括号所限定的域,其中定义的是局部对象
● 还存在其它的域:类域,名字空间域……

本质特征: 表示程序中名称具有唯一含义的部分区域,可包含变量、函数、类型别名等各类名称定义
核心作用: 解决名称冲突问题,例如在不同函数中定义同名变量int x=3不会产生重复定义错误
典型示例: 全局域中的x=3与函数域中的x=3属于不同实体,编译器通过域区分其存储空间

namespace MyNS{ //名字空间域int x = 3;void fun(){ } //名字空间域中的函数using MyInt = int; //名字空间域中的类型别名
}
using MyInt = float; //全局域中定义的类型别名
int x = 3; //全局域
void func(){ //全局域中的函数int x = 3;
}
int main(){int x = 3;
}

● 域可以嵌套,嵌套域中定义的名称可以隐藏外部域中定义的名称

int x = 3;
int main(){int x = 3; //局部域变量把全局域的同名称变量隐藏了std::cout << x << '\n'; //打印局部域变量
}

对象的生命周期

● 对象的生命周期起始于被初始化的时刻,终止于被销毁的时刻
● 通常来说
– 全局对象的生命周期是整个程序的运行期间
– 局部对象生命周期起源于对象的初始化位置,终止于所在域被执行完成

int x = 4; //全局对象
int main(){ int x = 3; //局部对象{std::cout << x << '\n'; // x输出3int x = 5; //局部对象std::cout << x << '\n'; // x输出5}// x = 5的对象被销毁
}// x = 3的对象被销毁
#include<iostream>
using namespace std;void useLocal();
void useStaticLocal();
void useGlobal();int x{1}; //global variableint main() {cout << "global x in main is " << x << '\n'; // 1const int x{5}; //local variable to maincout << "local x in main's outer scope is " << x << '\n'; // 5{ //block starts a new scopeconst int x{7};cout << "local x in main's inner scope is " << x << '\n'; //7}//7被销毁useLocal(); //25,26useStaticLocal(); //50,51useGlobal(); //1,10useLocal(); //25,26useStaticLocal(); //51,52useGlobal(); //10,100cout << "\nlocal x in main is " << x << '\n'; //5return 0;
}void useLocal(){int x{25};cout << "\nlocal x is " << x << " on entering useLocal\n"; //25++x;cout << "local x is " << x << " on exiting useLocal\n"; //26
}void useStaticLocal(){static int x{50}; //静态x被创建cout << "\nlocal static x is " << x << " on entering useStaticLocal\n"; //50++x;cout << "local x is " << x << " on exiting useStaticLocal\n"; //51
} //静态x未被销毁void useGlobal(){cout << "\nglobal x is " << x << " on entering useGlobal\n"; //1x *= 10;cout << "global x is " << x << " on exiting useGlobal\n"; //10
}

最小特权原则,这是良好软件工程的基本准则。该原则指出:代码应仅被授予完成其指定任务所需的特权和访问权限,而不应更多
局部变量的作用域就是一个例子:当不需要时,它不应可见。
局部变量在函数被调用时创建,在函数执行期间使用,函数返回时销毁
最小特权原则通过防止代码意外(或恶意)修改不可访问的变量值,使程序更健壮,同时也使程序更易于阅读和维护。
通常,变量应声明在其需要被访问的最窄作用域中。仅在特定函数中使用的变量应声明为该函数的局部变量,而非全局变量。

下图来自:内存五大区:(栈、堆、全局静态区、常量区、代码区)(线程、函数栈、栈帧)


http://www.hkea.cn/news/152387/

相关文章:

  • 公司网页网站建设 ppt模板app开发公司排行榜
  • 网站开发yuanmus联合早报 即时消息
  • 为什么只有中国人怕疫情seo 页面
  • 网站开发总结报告十大门户网站
  • 临淄信息港发布信息临沂seo建站
  • 门户网站系统介绍企业推广哪个平台好
  • 免费网站建站排行榜网站策划报告
  • 网站设计的评估最近发生的热点新闻
  • 设建网站广告投放渠道
  • 日ip5000的网站怎么做如何提高网站在搜索引擎中的排名
  • 网站描文本链接怎么做深圳互联网营销
  • 一个服务器做两个网站自己做网站
  • 百草味网站建设的活动方案营销型企业网站有哪些
  • 论文课程网站 建设背景项目推广方式有哪些
  • 内部网站建设关键词优化推广策略
  • 一个公司可以做几个网站备案贵阳网络推广排名
  • 武汉高端网站建设免费广告网
  • 大理建网站常用于网站推广的营销手段是
  • js怎么做网站跨境电商网站
  • 台州外贸网站建设百度推广费用多少
  • 虚拟机怎么做网站空间培训班管理系统 免费
  • wordpress离线文章发布郑州seo关键词排名优化
  • 龙岗区网站建设中国职业培训在线
  • 南山网站建设外包优化网站
  • 个人怎么做网站推广神起网络游戏推广平台
  • 做网站的关键技术运营推广的方式和渠道有哪些
  • jsp做就业网站网推项目
  • 网站开发的目的和意义重庆seo排名电话
  • 顺义专业建站公司最有效的线上推广方式
  • 大连网站网站搭建制作百度识图 上传图片