您当前的位置: 首页 >  ios

顺其自然~

暂无认证

  • 2浏览

    0关注

    1317博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

关于iostream与using namespace std 的解析

顺其自然~ 发布时间:2020-11-16 17:05:52 ,浏览量:2

当我们在使用C++语法进行编程练习的时候,往往在代码的前两行会这样来写

include

using namespace std;//使用命名空间的前提示命名空间必须存在,std命名空间定义在iostream中。

学过C语言的同学在学习C++的时候是否会产生这样的疑惑呢:

练习C语言编程的时候,只需要声明一个头文件:#include.而为什么在C++中,却需要写出include和using namespace std;这两行代码呢?

其中第一行include我们还勉强可以理解,它其实类似于C语言中的#include,即:声明标准的输入输出头文件。然而using namespace std究竟起到了什么作用呢?

针对这个问题,网络上有很多专业的说法,但是长篇大论的内容,对于初学者来说实在头疼,根本看不进去,所以接下来我希望可以用简练的语言来解释清楚using namespace std的作用,以下的内容虽可能有些许冗余,但我相信是通俗易懂的,您只要能够一行行的看下去,一定能够完全看懂!

本人认为正确的学习顺序是:我们要做到先学会定义、使用和理解命名空间(namespace),再回过头去研究using namespace std;的作用,这样可以起到事半功倍的效果,那么接下来重点就来了。

1、定义命名空间

(1)简单的命名空间

//1、定义命名空间A
namespace A
{
    int a=0;//在命名空间A中定义变量a
}

定义一个命名空间就是这样简单:在这个命名空间A中,有一个int型的变量,他的名字是“a”。那么我们接下来直接上难度!定义一个复杂的命名空间。

(2)复杂的命名空间

要求:定义命名空间B,并在命名空间B中定义命名空间C,并在命名空间C中定义结构体Teacher

//2、复杂的命名空间
namespace B //定义命名空间B
{
    int a=1;//在命名空间B中也可以定义变量a,因为他们不在同一个命名空间中
    namespace C//还可以在命名空间B中再定义一个命名空间C
    {
        struct Teacher//在命名空间C中定义结构体Teacher
        {
            char a[32];//结构体中还可以定义变量a,因为这三个“a”都不在同一个命名空间中
            int b;
        };
    }
}

2、使用命名空间

(1)使用命名空间的基本方法

前面已经定义好了命名空间A、B、C,且在这三个命名空间中都定义相同的变量“a”,接下来我们就来使用这三个命名空间。

int main()
{
//使用命名空间的基本方法1
using namespace A;//告诉编译器我要使用命名空间A中的功能了
a=10; //将命名空间A中的变量“a”由0更改为10
cout            
关注
打赏
1662339380
查看更多评论
0.0411s