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

平台网站怎么做的好搜索引擎网站提交入口

平台网站怎么做的好,搜索引擎网站提交入口,做公司网站要那些资料,电子销售网站报表模块如何做C中的命名/名字/名称空间 namespace 1、问题引入2、概念3、作用4、格式5、使用命名空间中的成员5.1 using编译指令( 引进整个命名空间) ---将这个盒子全部打开5.2 using声明使特定的标识符可用(引进命名空间的某个成员) ---将这个盒子中某个成员的位置打…

C++中的命名/名字/名称空间 namespace

  • 1、问题引入
  • 2、概念
  • 3、作用
  • 4、格式
  • 5、使用命名空间中的成员
    • 5.1 using编译指令( 引进整个命名空间) ---将这个盒子全部打开
    • 5.2 using声明使特定的标识符可用(引进命名空间的某个成员) ---将这个盒子中某个成员的位置打开
    • 5.3 调用的时候指定是哪一个命名空间下的成员
  • 6、示例代码
  • 7、命名空间的嵌套
  • 8、同名命名空间
  • 9、匿名命名空间
  • 10、全局作用域

1、问题引入

\quad 探讨:在实际的系统开发中,所有的开发工作,通常都不会仅由一个人来开发完成,不同的人只负责自己功能模块,他们在设计时,比如声明变量,通常情况下,不会考虑其他人是否已使用该变量名,在模块功能测试时,相互之间是独立的,完全没有问题,当系统功能合成 时,不可避免地会出现变量或函数的命名冲突,因为变量或函数重名而导致的问题将会造成一定的混乱。所以如何在同一个.cpp文件中定义相同变量名的两个全局变量呢

#include<iostream>int val = 200;
int val = 300;int main()
{return 0;
}

现象:编译会报错
解决方法:使用命名空间区分这两个全局变量

2、概念

其实命名空间就是类似一个黑盒子

3、作用

防止名字冲突

4、格式

namespace 命名空间名字
{//声明定义变量//声明定义函数//定义结构体/共用体/枚举 数据类型//声明类  定义对象
}

5、使用命名空间中的成员

5.1 using编译指令( 引进整个命名空间) —将这个盒子全部打开

 using namespace 命名空间名字;

5.2 using声明使特定的标识符可用(引进命名空间的某个成员) —将这个盒子中某个成员的位置打开

using 命名空间名字::成员名;

5.3 调用的时候指定是哪一个命名空间下的成员

cout<<命名空间名字::成员名

6、示例代码

#include<iostream>using namespace std;//使用名称空间LcdSpace  
namespace LcdSpace{int x = 10;int y = 20;typedef struct{int data;}Data_t;enum {LCD_COLOR_RED,LCD_COLOR_GREEN};int lcd_init(){return 0;}}; 
//使用名称空间TouchSpace
namespace TouchSpace{int x = 100;int y = 200;
};//外部的全局变量   
//int x = 1000;
//int y = 2000;//2)使用using声明的方式去引入名字空间中的某个成员
//把这个TouchSpace黑盒子 打开一个角落,正好把某个成员放出来
//格式:using 命名空间名字::成员名;
//using  TouchSpace::x;void test01()
{using namespace LcdSpace;cout<<"x:"<<x<<" y:"<<y<<endl;
}int main()
{//3)使用using编译指令的方式 打开整个名字空间 using namespace TouchSpace;//如何使用名字空间里面的成员//1)使用 作用域限定符:: 去指定//格式:  名字空间的名字::成员变量名std::cout<<TouchSpace::x<<" "<<TouchSpace::y<<std::endl;std::cout<<x<<" "<<y<<std::endl;std::cout<<LcdSpace::x<<" "<<LcdSpace::y<<std::endl;LcdSpace::Data_t data;LcdSpace::lcd_init();//我们有时候为了强调该变量的全局特性,可以在前面加上::修饰cout<<x<<" "<<y<<endl;test01();return 0;
}

7、命名空间的嵌套

namespace myspace{int x=10;int y=20;namespace spaceA{int a=100;void setValue(int data){a = data;}void printValue(){std::cout<<"a:"<<a<<std::endl;}}
}
使用:
myspace::spaceA::printValue();

8、同名命名空间

\quad 命名空间可以分开定义,也就是说,你在定义一个命名空间之后,如果后面想要在这个命名空间里面再次添加某些数据成员或者函数成员,可以再次接着定义。

namespace myspace{int x=10;int y=20;
}
namespace myspace{int a=100;int b=200;void print(){std::cout<<"x:"<<x<<" y:"<<y<<std::endl;}
}

9、匿名命名空间

namespace {int data=123;
}

可以在本文件中直接使用data, 限制空间中的成员只能在本文件中使用,类似c语言中的static修饰

10、全局作用域

\quad 全局作用域是从C语言就开始有的一种作用域,在C++中,有时为了强调某符号的全局特性,或为了避免与导入的名字空间中的重名符号冲突,会在使用全局符号的时候加上 作用域解析符

int global = 100;
int main()
{int global = 200;// 重名的标识符,外层的作用域会被内层的掩盖cout <<   global << endl; // 输出200// 使用双冒号引用全局作用域中的标识符cout << ::global << endl; // 输出100
}
  • 全局作用域的名字空间是匿名的,引用全局作用域符号只需加 :: 即可。
  • 名字空间的本质就是作用域,遵守C语言关于作用域的基本原则,如内层作用域重名符号会掩盖外层作用域的重名符号。
http://www.dtcms.com/wzjs/460875.html

相关文章:

  • 超大型网站建设百度广告收费表
  • 自己做网站做那种类型怎么能在百度上做推广
  • 网站建设首页包括什么seo网站排名推广
  • 昆明建企业网站多少钱百度搜索风云榜排行榜
  • 汉中北京网站建设中国域名注册官网
  • wordpress响应式模版优化网站建设seo
  • 专门做外卖的网站网络营销产品
  • 做哪个网站好如何搭建一个自己的网站
  • 安阳网站建设开发网站在线推广
  • 重庆网站设计人员做国外网站
  • 投标文件网站开发技术部分快速提高关键词排名的软件
  • 做简历好的网站seo网站优化软件
  • 西安市网站建设公司备案域名购买
  • 免费做简历的网站企业邮箱网页版
  • 您在工信部门备案网站获取的icp备案号网络互联网推广
  • 效果好企业营销型网站建设开发seo软件服务
  • 微网站购物网站关键词搜索趋势
  • 相亲网站男人拉我做外汇指数工具
  • 社区类网站开发谷歌优化
  • 西安做政府网站的公司百度识图网页版入口
  • 构建微网站渠道推广平台
  • 微信网站建设电话英语培训机构
  • 企业网站 下载免费建设网站平台
  • 做网站怎么跟客户谈话知名的seo快速排名多少钱
  • 做简历用哪个网站什么是百度竞价排名
  • 在centos做网站运营seo是什么意思
  • 南充网站建设狐灵网络百度游戏app下载
  • 杭州精品网站建设公司百度灰色关键词排名
  • 网站的尺寸广州关键词优化外包
  • 黄村网站建设报价百度竞价排名黑幕