2.3 std::介绍
在上节的学习中,我们发现在cout和endl之前总有个std::
这个std::到底是什么呢?
std::是个命名空间标识符,C++标准库中的函数或者对象都是在命名空间std中定义的,所以我们要使用标准库中的函数或者对象都要用std来限定。
接下来就很好理解了,对象cout是标准库所提供的一个对象,而标准库在名称空间中被指定为std,所以在使用cout的时候前面要加上std::。这样编译器就会明白我们调用的cout是命名空间std中的cout。
至于为什么将cout放到命名空间std中,是因为像cout这样的对象在实际操作中或许会有好多个,比如说你自己也可能会不小心定义了一个对象叫cout,那么这两个cout对象就会产生冲突,关于这个问题第2.5节还要说明,这里就不再多说了。
那么std都是在什么时候使用?
一般来说,std都是要调用C++标准库时使用。
如:使用标准库文件iostream时,要写上std;使用非标准库文件iostream.h,不用写。关于这一点第2.5节还有详细的讲述。
程序演示1:
#include<iostream>
using std::cout;
using std::endl;
int main()
{
cout<<"信息一班数学成绩表\n";
cout<<"首先是第一名张三丰的成绩:\t"<<100;
cout<<endl;
cout<<"其次是第二名张无忌的成绩:\t"<<90+9;
cout<<endl;
cout<<"最后是末一名周伯通的成绩:\t"<<(float)5/8;
cout<<endl;
return 0;
}
程序演示2:
#include<iostream>
using namespace std;
int main()
{
cout<<"信息一班数学成绩表\n";
cout<<"首先是第一名张三丰的成绩:\t"<<100;
cout<<endl;
cout<<"其次是第二名张无忌的成绩:\t"<<90+9;
cout<<endl;
cout<<"最后是末一名周伯通的成绩:\t"<<(float)5/8;
cout<<endl;
return 0;
}
using std::cout;
using std::endl;
细心的同学会发现,在main函数的上面使用了以上两行语句,那么cout和endl前面就不用加std::了。
using namespace std;
其实我们还有种更加简便的方法,就是直接使用using namespace std来代替using std::cout和std::endl。
using namespace std告诉编译器我们将要使用命名空间std中的函数或者对象。
所以cout和endl前面不用注明它们是std这个命名空间中的cout和endl。