一、命名空间与iostream
- c++中定义的方法都是有名字空间的,cout就属于std,如果include头文件的时候使用iostream.h,默认会using namespace,否则需要自己加上using namespace xxx
-
#include<iostream.h>
或
#include<iostream>
using namespace std;
二者都行
二、命名空间作用域
- 消除不同模块中因为类和函数之间可能发生重名,而引起的错误.
- 定义命名空间语法如下:
namespace 命名空间名{
命名空间内的各种声明(函数声明、类声明、.....)
}
namespace SomeNs{
class SomeClass(...);
}
- 引用其他命名空间的标识符,语法如下:
命名空间名::标识符名
引用命名空间SomeNs中的类名SomeClass
SomeNs::SomeClass obj1; //声明一个SomeNs::SomeClass型对象obj1
- using语法的使用:
using 命名空间名 :: 标识符名;
using namespace 命名空间名;
- 第一种,将指定的标识符暴露在当前的作用域内
- 第二种,将命名空间内的全部标识符暴露在当前的作用域内,使得在当前作用域内可以直接引用该命名空间内的任何标识符.
三、using namespace std
- c++标准程序库的所有标识符都被声明在std命名空间内,如:cin、cout、endl等
- 标识符的三种使用方法:
- 不使用using的情况,
std :: cout
- 使用using关键字,
using std :: cout
- 使用using关键字,
using namespace std