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

山药云搭建网站网站排行榜查询

山药云搭建网站,网站排行榜查询,网站建设费用清单,男女做的羞羞事的网站在这一章中C 头文件说明_c 头文件 说明注释写法-CSDN博客 提到了可以用命名空间的方式规避函数变量命名冲突。 具体是怎么做呢?今天在这里说明一下。 用namesapce 来定义命名空间。 如: namespace myspace{}在大括号里,就可以写你的变量…

在这一章中C++ 头文件说明_c++ 头文件 说明注释写法-CSDN博客

提到了可以用命名空间的方式规避函数变量命名冲突。

具体是怎么做呢?今天在这里说明一下。

用namesapce 来定义命名空间。

如:

namespace myspace{}

在大括号里,就可以写你的变量和函数代码了。

这样,这里面变量和函数都属于mysapce命名空间。

示例代码:

#include <iostream>using namespace std;
namespace myspace{  //定义命名空间myspaceint a = 5;void couta(){cout << a << endl;}
}
namespace mysp2  //定义命名空间mysp2
{int a = 52;void couta(){cout << a << endl;}
}int main() {//调用命名空间各自的couta函数myspace::couta();mysp2::couta();
}

效果:

可以看到,定义命名空间后,就可以放心的在里面写代码了,不用担心和其他文件命名冲突了。

只需要在调用的时候,命名空间名加上::使用。

如果我们不想加上命名空间名,则开头加上using namespace myspace 引用。

#include <iostream>using namespace std;
namespace myspace{  //定义命名空间myspaceint a = 5;void couta(){cout << a << endl;}
}
namespace mysp2  //定义命名空间mysp2
{int a = 52;void couta(){cout << a << endl;}
}
using namespace myspace;//引入myspace命名空间int main() {//直接调用couta();
}

这里需要注意的是如果后面又加了using namespace mysp2;

两个命名空间有同名变量或函数,这种用法就会有冲突是不合法的。

如果不想using引用整个命名空间,只想使用命名空间的某个函数或某个变量,可以这样引用:

using  myspace::couta;

这样mysapce命名空间的变量a不会被访问到。

前面是单文件的示例了,接下说一下多文件怎么使用。

像正常编写多文件cpp一样,需要分成头文件.h和cpp(注意:另提一点如果是定义模板类则尽量代码也写在.h中)。 

头文件中,写命名空间的声明,变量要加上extern ,函数名可以不用加,如

myspace.h

//命名空间 声明 
namespace myspace {extern int a;void couta();
}

myspace.cpp

#include<iostream>
#include"myspace.h"
using namespace std;
//命名空间定义
namespace myspace{int a = 10;void couta(){cout << a << endl;}
}

main主程序cpp

#include <iostream>
#include"myspace.h"
using namespace std;
//命名空间 使用
using namespace myspace;
int main() {couta();
}

运行效果:

ok,以上就是命名空间大概的使用和创建的方法。

这里还要提的一个点的是:

using namespace myspace;
int main() {myspace::couta();
}

using了命名空间,然后又再指定命名空间mysapce::couta.

为什么好像不会引起重复引用的问题,比如不会变成这样:

myspace::myspace::couta();

 为了避免这样的误解,我们必须了解命名空间的解析方法。

当使用了using namespace myspace;后,编译器会在当前的作用域查找变量和函数是否属于mysapce。而不是给所有的函数和变量硬性加上mysapce。这是智能的。

而当遇到myspace::couta();,这种用法的优先级更高,所以也会忽略掉using namespace myspace;而是直接去mysapce里面查找。所以这两者共同使用完全没问题。

http://www.dtcms.com/wzjs/56340.html

相关文章:

  • 宁波网站制作工作室合肥网站关键词优化公司
  • 个人网站的建设流程百度助手官网
  • 做国际生意的网站有哪些百度快速收录权限域名
  • 建电子商务网站需要多少钱最近热搜新闻事件
  • 外贸网站推广计划书上海网络推广需要多少
  • 网站风格类型东莞网络推广排名
  • 域名注册好了怎么做网站百度一下首页百度
  • 江门网站快速排名加拿大搜索引擎
  • tag改为静态wordpress百度移动seo首选帝搜软件
  • 那个网站做排列五头比较准大数据智能营销
  • wordpress主题出错修改主题深圳seo优化服务
  • 做网站流量怎么解决武汉seo优
  • html5移动网站开发实践网站快速收录软件
  • 工作室 网站建设百度搜索网站优化
  • 济宁网站建设怎样做网站推广啊
  • 找生产厂家的网站磁力屋torrentkitty
  • 深圳网站建设制作哪家好安卓神级系统优化工具
  • 在线页游廊坊seo排名收费
  • 部委网站建设管理职责网站推广和seo
  • 美容行业网站建设方案今天上海最新新闻事件
  • mac 做网站开发比较好用的搜索引擎
  • php自己写框架做网站怎么创建网站?
  • ftp如何备份网站seo推广技术培训
  • 公司网站简介怎么做百度seo入驻
  • 奉节网站建设公司如何做关键词优化
  • 做美食网站有哪些新开传奇网站
  • 搭建电商网站源码竞价推广代运营服务
  • 陕西网站建设咨询网站免费网站免费优化优化
  • 响应式网站建站工具郑州百度推广代运营
  • 微信商家小程序怎么弄焦作seo推广