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

常州建站价格国外浏览器搜索引擎入口

常州建站价格,国外浏览器搜索引擎入口,手机网站制,一个工厂做网站有什么好处键盘敲烂#xff0c;月薪过万#xff0c;同学们#xff0c;加油呀#xff01; 目录 键盘敲烂#xff0c;月薪过万#xff0c;同学们#xff0c;加油呀#xff01; 一、命名空间的理解 二、#xff1a;#xff1a;作用域运算符 三、命名空间#xff08;namespace月薪过万同学们加油呀 目录 键盘敲烂月薪过万同学们加油呀 一、命名空间的理解 二、作用域运算符 三、命名空间namespace 3.、namespace的由来 3.2、命名空间使用语法 3.3、using声明 3.4、using编译指令 一、命名空间的理解 同学们好今天王老师来带大家了解C中的命名空间namespace的一个概念。首先要了解什么是命名空间这个大家就可以把它理解成一个工具箱如下图 众所周知我们C一般用在大型项目中现在假设我们一共有张三李四王五三个人完成一个大型项目 因为项目太大了所以我们在创建变量的时候就有很大的概率会造成变量名相同的一个问题这个时候就会发生命名冲突的一个问题了这个时候怎么办呢这时我们就可以用到C中的命名空间了这个就像把我们所创建好的东西放入一个工具箱中但是这个工具箱有好多个每个工具箱中有个别工具是相同的外貌相同并不是同一个这个时候我们需要用到哪个工具箱中的工具我们就去哪个工具箱中拿这样就能解决命名冲突的一个问题了这也是命名空间最大的一个用处。 比如上图中我们如果需要用到A空间中的a我们就去A中拿要用到B中的a我们就去B中拿这样编译器就不会不知道我要用的这个变量是来自于哪里了。 二、作用域运算符 在正式了解命名空间之前我们还需要了解作用域运算符。 通常情况下如果有两个同名变量一个全局变量一个局部变量那么局部变量在其作用域范围内有更高的优先级它将屏蔽全局变量。 如下代码 int a 10; void fun(void) {int a 20;coutaendl; } 程序的输出结果是 a 20  在这个fun函数中cout输出语句使用的变量a是fun函数中内部定义的局部变量a因此输出的结果为局部变量a 的值。在C语言中我们无法解决这个问题无法在fun函数中访问到全局变量a但是在C中我们可以用作用域运算符解决这个变量重名问题。 代码如下 //全局变量 int a 10; //1. 局部变量和全局变量同名 void test(){ int a 20; //打印局部变量 a cout 局部变量 a: a endl; //打印全局变量 a cout 全局变量 a: ::a endl; } 从这个例子可以看出作用域运算符可以解决局部变量与全局变量的重名问题即在局部变量的作用域中可用对被屏蔽的同名的全局变量进行访问。 三、命名空间namespace 3.、namespace的由来 在C中我们在好多地方都需要命名比如说结构体、常量、变量、函数、枚举、类和对象等等我们都需要去给它们取个名字。工程越大名称互相冲突的可能性越大。另外使用多个厂商的类库时也可能导致名称冲突为了避免在大规模程序的设计中以及在程序员使用各种各样的C库时这些标识符的命名发生冲突标准C引入了关键字namespace命名空间可以更好地控制标识符的作用域。 3.2、命名空间使用语法 创建一个命名空间 namespace A{int a 10; }namespace B{int a 20; }void test(){coutA::aA::aendl;coutB::aB::aendl; } 命名空间只能全局范围内定义以下写法错误 //错误写法 void test(){namespace A{int a 10;}coutA::aA::aendl; } 命名空间可以嵌套命名空间 namespace A{int a 10;namespace B{int a 20;} }void test(){coutA::aA::aendl;coutA::B::aA::B::aendl; }命名空间是开放的即可以随时把新的成员加入已有的命名空间中  namespace A {int a 100;int b 200; } //将c添加到已有的命名空间A中 namespace A {int c 300; }void test04() {coutA中a A::aendl;//100coutA中c A::cendl;//200 } 函数的声明和实现可以分离 namespace A {int a100;//变量void func(); }void A::func()//成员函数 在外部定义的时候 记得加作用域 {//访问命名空间的数据不用加作用域coutfunc遍历a aendl; }无名的命名空间意味着命名空间中的标识符只能在本文件中访问相当于给这个标识符加上了static使得其可以作为内部连接了解 namespace{int a 10;void func(){ cout hello namespace endl; } } void test(){cout a : a endl;func(); } 命名空间取别名了解 namespace veryLongName{int a 10;void func(){ cout hello namespace endl; } } void test(){namespace shortName veryLongName;cout veryLongName::a : shortName::a endl;veryLongName::func();shortName::func(); } 3.3、using声明 using声明可以使得指定的标识符可用 namespace A{int paramA 20;int paramB 30;void funcA(){ cout hello funcA endl; }void funcB(){ cout hello funcA endl; } } void test(){//1. 通过命名空间域运算符cout A::paramA endl;A::funcA();//2. using 声明using A::paramA;using A::funcA;cout paramA endl;//cout paramB endl; //不可直接访问funcA();//3. 同名冲突//int paramA 20; //相同作用域注意同名冲突 } using声明碰到函数重载 namespace A{void func(){}void func(int x){}int func(int x,int y){} } void test(){using A::func;func();func(10);func(10, 20); } 如果命名空间包含一组用相同名字重载的函数using声明就声明了这个重载函数的所有集合 3.4、using编译指令 using编译指令使整个空间标识符可用 namespace A{int paramA 20;int paramB 30;void funcA(){ cout hello funcA endl; }void funcB(){ cout hello funcB endl; } } void test01(){using namespace A;cout paramA endl;cout paramB endl;funcA();funcB();//不会产生二义性int paramA 30;cout paramA endl; }namespace B{int paramA 20;int paramB 30;void funcA(){ cout hello funcA endl; }void funcB(){ cout hello funcB endl; } } void test02(){using namespace A;using namespace B;//二义性产生不知道调用 A 还是 B 的 paramA//cout paramA endl; }
http://www.tj-hxxt.cn/news/234260.html

相关文章:

  • 济南网站建设网站制作电商外贸有什么平台
  • 学雷锋做美德少年网站宿迁企业网站建设
  • 河南品牌网站建设做一个15页的网站怎么做
  • 做头像一个字的网站沈阳做网站哪好
  • 纯静态网站模板网站站制做
  • 猪八戒里面做网站骗子很多河池网站建设公司
  • 网站源码 com大全怎样建设公司的网站
  • 免费广告平台百度seo关键词优化电话
  • 网站网页建设与制作怎么做账如何建立免费的网站
  • 企业网站开发效果网络宣传平台有哪些
  • 专业提供网站建设服务的企业网站开发和前端是一样吗
  • 网站怎么用ftp修改网页内容哪些动物可以做网站名
  • 安定网站建设做网站能申报只是产权么
  • 网站建设哪个制作英文网站案例
  • 优化网站性能监测什么网站上面能接点小活做
  • 深圳沙井做公司网站机械工业第六设计研究院有限公司
  • 毕业设计网站设计步骤网站备案核验单怎么选
  • 外汇网站源码 asp唐山正规做网站的公司
  • 可以免费秒玩游戏的网站wordpress子主题插件
  • 焦作做网站推广无忧网站建设推荐
  • 网站备案接入服务单位校园生活网页设计
  • 备案注销网站还有吗互联网公司的招聘信息
  • 烟台网站设计公司平面设计和网页设计
  • 购物网站建设市场四川网站seo
  • 游戏网站做关键字如何在网站中做公示信息
  • 泰州网站建设解决方案wordpress中文主题下载地址
  • 做h的动漫在线观看网站南通网站建设南通
  • 打开建设银行官方网站首页电脑上买wordpress
  • 明星网页网站制作舜江建设集团官方网站
  • 四川移动网站建设产品网络营销推广方案