using 和namespace都是C++的关键词。std是标准程序库所驻之命名空间(namespace)的名称.标准程序库所提供的任何事物(诸如string class以及cout,cin这两个iostream类对象)都被封装在命名空间std内。而所谓的命名空间是一种将程序库名称封装起来的方法。通过这种方法,可以避免和应用程序发生命名冲突问题(所谓命名冲突是指在应用程序内两个不同实体(entiy)具有相同的名称,导致程序无法区分两者。命名冲突发生时,程序必须等到该命名冲突获得决议之后才能继续执行)
若在程序中使用string class 以及cin ,cout这两个iostream对象,我们不仅得含入<string>和<iostream>头文件,还得让命名空间std内的名称暴光,而using namespace std;便是让命名空间中名称暴光的最简单方法。