using namespace std(部分问题)

原创 2007年10月09日 15:20:00

问题:

#include   <iostream >
#include   <string >
using   namespace   std;

void   main(   )  
{
string   s[2]   =   {"asdf","adadff"};

cout < <s[1] < <endl   ;

}
这个就没有错,为什么下面的程序就报错??
#include   <iostream.h >
#include   <string.h >
//using   namespace   std;

void   main(   )  
{
string   s[2]   =   {"asdf","adadff"};

//cout < <s[1] < <endl   ;

}
问题主要出在string   s[2]   =   {"asdf","adadff"};这行;
using   namespace   std;有什么作用是不是用了这行,定义头文件时就可以不用加“.h”还时有其他什么作用?
以前一直用bc3.1,对vc++不了解
请大家帮我解决这个问题 

部分解决1:

using   namespace   std是告诉编译器本程序使用std这个命名空间(namespace)内的东西,如果没这句就得这样写
#include   <iostream >
#include   <string >
//using   namespace   std;

void   main(   )  
{
std::string   s[2]   =   {"asdf","adadff"};

std::cout < <s[1] < <std::endl   ;

}
这样太麻烦了

部分解决2:

加h   和不加h   表示告诉编译器调用两种不同版本的库文件:c   和   c++

对于不加h的,库文件里定义的变量名均放在命名空间std里,当然要std::了;
而加了h的,则变量名没有单独处理

没有躲过的坑--使用using namespace std的坏习惯

使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突。在C++中,变量、函数和类都是大量存在的。如果没有命名空间,这些变量、函数、类的名称将都存在于全局命名空间中,会导致很多冲突。比如,如果我...
  • wangshubo1989
  • wangshubo1989
  • 2015年11月26日 21:20
  • 7897

C++ using namespace std 详解 与 命名空间的使用

所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。 一 : iostream>和iostream.h>是不一样,前者没...
  • adudurant
  • adudurant
  • 2013年11月24日 22:17
  • 2964

别再让C++头文件中出现“using namespace xxx;”

在这里,我毫不回避地说了这句话:  引用 我再也不想在任何头文件中看到“using namespace xxx;”了 作为一个开发者/团队领导者,我经常会去招聘新的项目成员,有时候也...
  • dj0379
  • dj0379
  • 2013年09月11日 15:12
  • 13041

关于“using namespace std”的一些文章

关于“using namespace std” 可以先看这篇文章: http://www.cnblogs.com/uniqueliu/archive/2011/07/10/2102238.html...
  • thanklife
  • thanklife
  • 2014年03月18日 16:14
  • 568

C++std命名空间详解

转自http://qiusuoge.com/9811.html 什么是命名空间 在编程语言中,命名空间是一种特殊的作用域,它包含了处于该作用域中的所有标示符,而且其本身也是由标示符表示的。命名空间的使...
  • zhouxianglun
  • zhouxianglun
  • 2015年07月19日 15:11
  • 5490

二分查找 2016.3.17

1、POJ 3061 SubsequenceSolving process from : 《挑战程序设计竞赛》二分法: 复杂度O(nlogn)#include #include using nam...
  • Only_AiR
  • Only_AiR
  • 2016年03月12日 23:03
  • 291

头文件iostream与命名空间namespace

#include 非标准输入输出流 #include 标准输入输出流 C++中为了避免名字定义冲突,特别引入了“名字空间的定义”,即namespace。 当代码中用时,输出可直接引用cout继承C语...
  • q664111
  • q664111
  • 2015年09月21日 22:10
  • 666

using namespace std中的std定义在哪个文件

这个应该和编译器有关, 在网上找了好一会,没有找到答案. 于是到编译器的安装目录去找了一番,有重大收获. 首先是找到了平常程序中#include中的iostream在哪个地方, 一以我的编译器为例co...
  • loudyten
  • loudyten
  • 2013年09月26日 21:20
  • 5121

函数模版template学习中的一个编译问题

c++学习函数模版的时候,写了一个交换函数的程序,函数为swap(),目的是交换两个数据。                  源程序:                  #include usin...
  • u012805027
  • u012805027
  • 2013年12月03日 10:05
  • 726

windows第二次实验代码

#include using namespace std; class Base1{ public:     Base1(int i){cout }; class Base2{ p...
  • Fblacklister
  • Fblacklister
  • 2017年03月17日 17:00
  • 118
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:using namespace std(部分问题)
举报原因:
原因补充:

(最多只允许输入30个字)