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

网站建设怎么用WordPress添加有趣的

网站建设怎么用,WordPress添加有趣的,互联网公司做什么的,申请个人网站和企业官网有什么不同这篇文章我们讲一下之前写代码的时候的一个习惯&#xff0c;也就是不使用using namespace std。如果我们接触过最早的C教程&#xff0c;那么第一节课都会让我们写如下的代码&#xff1a; #include<iostream>using namespace std;int main() {cout << "Hello …

这篇文章我们讲一下之前写代码的时候的一个习惯,也就是不使用using namespace std。如果我们接触过最早的C++教程,那么第一节课都会让我们写如下的代码:

#include<iostream>using namespace std;int main() {cout << "Hello World!" << endl;cin.get();
}

非常经典的入门代码。同样也使得using namespace std这句话深入人心了。但是如果我们看之前教程里面的代码,基本上清一色都是不用using而是直接把std写出来,如下所示:

#include<iostream>int main() {std::cout << "Hello World!" << std::endl;std::cin.get();
}

那么问题就来了,为什么我们不使用using namespace std?这样可以省去很多写std::的麻烦,不是么?但是实际上我们不建议这样使用。

我们在使用std::的时候,其实表明的含义是这些是来源于一个名为std的命名空间。如果有一个很长的命名空间或者是自己的命名空间,也许我们可以这样使用。但是对于std来说,写一下std::并不是一件麻烦的事情,但是这样可以很清晰地表明我们这些函数/类是来自于std命名空间内的,所以这是一件很有利的事情。如果没有std::,那我们就无法判断这些个函数变量来源于哪个命名空间,也许我们可以以变量的命名书写规则来进行区分,但是书写风格有的时候其实也是会撞车的。就比如Cherno所在的EA有开发自己的EASTL,命名方式是完全一样的,这个就会带来麻烦和困扰。

我们可以举一个简单的例子来说明如果不指明namespace,会带来哪些问题:

#include<iostream>
#include<string>
#include<algorithm>namespace Apple {void Print(const std::string& str) {std::cout << str << std::endl;}
}namespace Orange {void Print(const char* str) {std::string str_r = str;std::reverse(str_r.begin(), str_r.end());std::cout << str_r << std::endl;}
}int main() {using namespace Apple;using namespace Orange;Print("HelloWorld");std::cin.get();
}

如上所示,我们定义了两个namespace,都是简单的打印函数,其中Orange是反向打印,而Apple是正向打印。我们同时采用using namespace然后看看会发生什么:

很神奇,我们的程序选择了Orange当中的打印。没有发生编译错误,但是运行结果并不一定是我们想要的。这个是因为什么?因为我们输入的对象是一个const char*类型的变量,虽然Apple当中的Print其实也能用,但是它需要进行一次隐藏的类型转换,转换为std::string,那么和Orange当中的Print一比较,编译器就会选择不需要类型转换的Orange当中的函数了。

所以如果我们想要准确的标明我们使用的是哪个命名空间里面的函数,肯定最好写成Orange::或者是Apple::了,但是如果非得就不想这么写行不行呢?也可以,如下所示:

using Apple::Print;
Print("HelloWorld");

这样写的话,那么我们在本作用域内所有的Print就都是Apple当中的Print了。

但是需要注意的一点是,在使用using namespace的时候,一定一定要控制using的适用范围,在一个小作用域内,或者是在一个文件里那是最好不过的。所以千万千万不要把using namespace写到头文件当中!如果这样的话,经过多轮的头文件来回包含,很有可能会导致我们都不知道我们用的是哪个namespace当中的函数了,从而引发代码的错误。所以千万千万不要这样用!

好了以上就是本文的全部内容了,希望大家喜欢!

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

相关文章:

  • 牡丹江营商环境建设监督局网站公司免费注册
  • 三河市建设厅公示网站帮助网站网站做优化
  • vs做网站用3层架构适合前端开发的电脑推荐
  • 网站首页tdk怎么做jsp 网站开发环境
  • 网站在线优化检测app网站区别
  • 海外引流推广平台西宁seo网站建设
  • 做一个电商网站罗源城乡建设网站
  • 地方网站优势网站建设添加音乐的代码
  • 汽车最专业的网站建设境外网址app
  • 模板网站多少钱一个水果网页设计模板图片
  • 专门做投票的网站有哪些织梦网站备份几种方法
  • 网站建设和维护要花多少钱南昌县建设局网站
  • 怀化建网站是怎么开的?
  • 莘县聊城做网站南昌专业网站建设信息
  • 邢台做wap网站的地方定远建设局官方网站
  • 大连网站设计公司排名做网站购买服务器多少钱
  • 网赌网站做流量渗透wordpress聊天室模板
  • 广东建设行业招聘 什么网站营销型网站的好处
  • 专业网站设计定制青岛做网站建设价格
  • 上海这边敲墙拆旧做啥网站的比较多做网站是域名怎么申请
  • wordpress数据库里的主题痕迹seo1短视频网页入口营销
  • 网站建站报价单软件设计属于什么专业
  • 麻章网站建设公司图片免费设计在线生成
  • 嘉兴手机模板建站个人备案网站名称
  • 桂林北站到阳朔怎么坐车襄城县住房和城市建设局网站
  • 个人网站开发的意义桂林哪里做网站
  • 工商网站官网入口深圳最乱最穷的地方
  • 创建网站视频wordpress 个人主页
  • 用一部手机制作网站个人博客网站制作代码
  • 网站建设企业网的项目描述厦门入夏网站建设公司