与LSGO一起学“第2章 做一个简短的C++程序(2.3 std::介绍)”

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

using std::cout;

using std::endl;

int main()

{

    cout<<"信息一班数学成绩表\n";

    cout<<"首先是第一名张三丰的成绩:\t"<<100;

    cout<

 

    cout<<"其次是第二名张无忌的成绩:\t"<<90+9;

    cout<

 

    cout<<"最后是末一名周伯通的成绩:\t"<<(float)5/8;

    cout<

    return 0;

}

 

程序演示2

#include

using namespace std;

int main()

{

    cout<<"信息一班数学成绩表\n";

    cout<<"首先是第一名张三丰的成绩:\t"<<100;

    cout<

 

    cout<<"其次是第二名张无忌的成绩:\t"<<90+9;

    cout<

 

    cout<<"最后是末一名周伯通的成绩:\t"<<(float)5/8;

    cout<

    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。


你可能感兴趣的:(C++)