关于using namespace std;使用经验

来源:互联网 发布:java中绝对值函数 编辑:程序博客网 时间:2024/06/06 19:18

写过c++控制台程序的同学都知道;

 一段程序的开头除了一些头文件 ;

还要加上一句using namespace std;

/*如果你是资深程序员大可不必看我在这班门弄斧*/哈哈哈


所以作为个人第一篇文章就来介绍介绍这句语句的用途使用经验


首先说说名称空间

它是一种降低无意中使用重名风险的机制;

在名称空间的代码中定义的每个名称都有一个关联的名称空间名称;

标准库工具定义在std名称空间内;//这一段是书上的


其中就包括最常用的输入输出cin和cout;

/*其实cin和cout的全称就是std::cin和std::cout(std就像是cin和cout的姓)*/

如果添加using声明就可以将一个名称从std名称空间导入源文件;

比如在代码开始时作如下声明;

那么在主程序中就可以直接使用cout和cin;

/*比std::cin和std::cout简便了许多(毕竟少打了几个字母)*/


看到这里估计你大概已经明白了;

如果代码中使用了cout、cin、endl、、、等等;

那岂不是要一一声明;//是不是太烦了


所以可以用using namespace std;

这个指令是将std名称空间的所以名称导入源文件;

是不是方便了很多;//太爽了一下子可以少写这么多字符


但是这样做却有一个缺点

如果使用using namespace std;

在实际的操作过程中;

偶尔会产生一些名称冲突;

比如std::bind和socket中的bind函数会产生名称冲突;


所以为了避免产生不必要的冲突;

在需要声明的名称不多的情况下可以一一声明;

使用using namespace std只是偶尔会出现冲突;

/*出现冲突再改也是一样,看个人习惯了*/

 

不过个人推荐

这样的声明方式,多几个字符,但是不会出错;

/*谢谢阅读 感兴趣的话可以关注呦  个人经验分享 不定期更新*/哈哈哈哈