std::是什么?
std::是个名称空间标识符,C++标准库中的函数或者对象都是在命名空间std中定义的,所以我们要使用标准库中的函数或者对象都要用std来限定.
对象cout是标准库所提供的一个对象,而标准库在名字空间中被指定为std,所以在使用cout的时候前面要加上std::。这样编译器就会明白我们调用的cout对象是名字空间的std中的对象.
std在什么时候使用?一般来说,使用标准文件iostream时,要写上std;使用非标准文件iostream.h不用写.
不用每次导入std::方式
1 using namespace std;
2 using std::cout;
using std::cin;
using std::endl;
iostream.h为非标准的输入输出流,这个.h的头文件时C语言格式的,由于当时还没有名字空间这个说法,所以也就不存在std这个名字空间标识符.自然用iostream就用不着std或using namespace std;
iostream 为标准输入输出流,它是C++规范的带有名称空间的头文件,他包含在std名字空间内。而iostream流里又包含cin和cout输入输出对象,所以使用cout的对象必须加上std;
c++引入名字空间(namespace)的目的是为了避免和减少命名冲突。