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

商洛市住房城乡建设厅网站钟楼网站建设

商洛市住房城乡建设厅网站,钟楼网站建设,智慧校园官网,wordpress多站点命名目录 前言 命名空间的定义 命名空间的使用 前言 在C/C中#xff0c;变量、函数和后面要学到的类都是大量存在的#xff0c;这些变量、函数和类的名称将都存 在于全局作用域中#xff0c;可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化#xff0c; 以… 目录 前言 命名空间的定义 命名空间的使用 前言 在C/C中变量、函数和后面要学到的类都是大量存在的这些变量、函数和类的名称将都存 在于全局作用域中可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化 以避免命名冲突或名字污染namespace关键字的出现就是针对这种问题的。 #include stdio.h #include stdlib.h int rand 10; // C语言没办法解决类似这样的命名冲突问题所以C提出了namespace来解决 int main() {printf(%d\n, rand);return 0; } // 编译后后报错error C2365: “rand”: 重定义以前的定义是“函数” 命名冲突 C 要求所有标识符都是无歧义的。如果将两个相同的标识符引入到同一程序中而编译器或链接器无法区分它们则编译器或链接器将产生错误。此错误通常称为命名冲突。 如果将冲突标识符引入到同一文件中则结果将是编译器错误。如果将冲突标识符引入到属于同一程序的单独文件中则结果将是链接器错误。 命名空间的定义 命名空间是一个区域允许您在其内部声明名称以消除歧义。命名空间为其中声明的名称提供了一个作用域区域称为命名空间作用域这仅仅意味着在命名空间内声明的任何名称都不会被误认为是其他作用域中的相同名称。 在命名空间中声明的名称不会被误认为是在另一个作用域中声明的相同名称。 在命名空间中所有名称都必须是唯一的否则将导致命名冲突。 在命名空间域内可以包含以下内容 ① 变量、对象以及它们的初始化。 ② 枚举常量。 ③ 函数声明以及函数定义。 ④ 类、结构体声明与实现。 ⑤ 模板。 ⑥ 其他命名 namespace test {int a 10;int rand 10;//变量int add(int x, int y)//函数{return x y;}struct Node//结构体{struct Node* next;int val;}; } 嵌套命名空间 namespace N1 {int a;int b;int Add(int left, int right){return left right;}namespace N2{int c;int d;int Sub(int left, int right){return left - right;}} } 同一个工程中允许存在多个相同名称的命名空间编译器最后会合并成一个命名空间 如一个工程中的test.h和上面test.cpp中两个N1会被合并成一个 // test.h namespace N1 { int Mul(int left, int right) { return left * right; } } 注意一个命名空间就定义了一个新的作用域命名空间中的所有内容都局限于该命名空间中   namespace A {int a 10; } namespace B {int a 20; }int main() {cout A::a endl;cout B::a endl; } 不同命名空间内可以存在相同名称的变量二者互不影响 命名空间的使用 使用命名空间名称及作用域限定符 namespace A {int a 10; } namespace B {int a 20; }int main() {cout A::a endl;cout B::a endl; } 使用using将命名空间中某个成员引入 using N::b; using std::cin; using std::cout; using std::endl; int main() {printf(%d\n, N::a);printf(%d\n, b);coutbendl;return 0; } 使用using namespace 命名空间名称引入 这个方法在平时做题时可以使用但是在正式的工程项目中不建议使用因为全部展开可以会发生命名冲突。 using namespce N; int main() {printf(%d\n, N::a);printf(%d\n, b);Add(10, 20);return 0; } 命名空间域内部封装的在展开之后相当于在全局域命名空间的展开是将命名空间域打开编译器搜索时可以到命名空间里搜索命名空间不展开时编译器不会到命名空间里搜索 包含头文件的展开是在预处理阶段将头文件的内容拷贝到源文件里
http://www.zqtcl.cn/news/836519/

相关文章:

  • 做盗市相关网站wordpress速度优化简书
  • 贵阳手机网站建设公司国内永久免费云服务器
  • 温州做网站定制哪家网络推广公司好
  • 招聘网站怎么做线下活动网站后台管理系统怎么开发
  • 西湖区外贸网站建设商梦建站
  • 网站首页设计注意斗蟋蟀网站建设
  • 石家庄网站建设远策科技网站建设公司人员配备
  • 手机怎么建网站链接专门做鞋子的网站吗
  • 网站建设设计作品怎么写网站建设 网站内容 采集
  • 自己做网站nas如何做网站大图片
  • 网站优化定做嘉兴模板建站代理
  • 南宁做网站比较好的公司有哪些花乡科技园区网站建设
  • 网站注册平台怎么注册申请空间 建立网站吗
  • 汕头住房与城乡建设网站做网站视频 上传到哪儿
  • 东莞网站关键词优化福建个人网站备案
  • 国外获奖flash网站泉州网站制作专业
  • 万网域名注册后如何做网站教学上海app开发和制作公司
  • 恩施网站建设公司个人网站怎么制作成图片
  • 泸州高端网站建设公司上海企业网站
  • wordpress 建站 知乎济南全包圆装修400电话
  • 织梦建设两个网站 视频影视公司宣传片
  • 北京小企业网站建设那个做网站好
  • 怎样用模块做网站深圳网站建设制作厂家
  • 网站项目中的工作流程网站建设社区
  • 建设厅网站查询电工证件提供网站建设公司哪家好
  • 免费网站软件下载安装称多网站建设
  • 网站客户续费深圳福田地图
  • 连云港做电商网站的公司营销公司网站模板
  • 沈阳企业网站优化排名方案富阳做网站公司
  • 企业网站优化报价自己做个网站怎么赚钱