C++中标准名称空间出错(cout,cin,endl是一个未知标识符)

C++中标准名称空间出错(cout,cin,endl是一个未知标识符)

相信有很多小伙伴刚刚学习C++都有出现cout,cin,endl为未知标识符。原因是:头文件没有namespace std库。

解决方法有3种,如下

方法1:加 using namespace std;

方法2:cin,cout,endl前面加std::

方法3:cin,cout,endl前面加using std::

那么这三种方法的区别又是什么呢?

1. using namespace std;

它是C++标准程序库中所有标识符都被定义在一个名为std的namespace.这种方法是让命名空间std内定义的所有标识符都有效,可以理解为全局变量

2. cin,cout,endl前面加std::

可以理解为调用std空间(或std类)中的cin,cout,endl成员;

3. cin,cout,endl前面加using std::

可以理解为调用std类中的cin,cout,endl成员;相比第二种,可以认为是全局变量。相比第一种,一个调用整个空间一个调用类中的成员

相关阅读