C++ std命名空间

1、命名空间是一种特殊的作用域,它包含了处于该作用域中所有标示符。命名空间使用namespace 来声明,并使用{}来界定命名空间的作用域,例如:

namespace func{

   int val=0;

}

2、std命名空间是C++中标准库类型对象的命名空间。

标准C++引入了名字空间的概念,并把iostream等标准库中的东西封装到了std命名空间,用using namespace std时表示把std名字空间的东西暴露到全局中。当使用<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。

所以

如下写法,则出错

#include <iostream.h>

using namespace std; 

原文地址:https://www.cnblogs.com/relaxgirl/p/3570669.html