美文网首页想法简友广场
每天一个知识点(六)

每天一个知识点(六)

作者: 少年小马 | 来源:发表于2020-03-31 10:23 被阅读0次

    对namespace的理解。

    C++中为什么使用命名空间namespace,举个例子,一个数学老师带着两个班级的课,每个班级里面都有一个数学课代表。现老师让你去把数学课代表找来,此时你就会有疑问是找哪个班级的。这里就需要命名空间来区分,比如一班的数学课代表。

    当然在C++程序中也会出现同样的问题,比如你正在调用一个名为function()的函数,此时有两个可用的库中都包含这个函数,所以编译器就不知道你到底需要哪一个。命名空间就是用来区分不同类或者库的同名函数。命名空间的本质就是定义了一个范围,我们找一个东西,需要现确定它所在的范围。

    定义名为class_one和class_two的命名空间,并调用。

    代码:

    #include <iostream>

    using namespace std;

    //命名空间一班

    namespace class_one {

    //函数,类名等等

    void student() {

    cout << ’’ Xiao Ming is the representative of mathematics class’’ << endl;

    }

    }

    //命名空间二班

    namespace class_two {

    void student() {

    cout << ’’ Xiao hong is the representative of mathematics class’’ << endl;

    }

    }

    int main () {

    class_one::student();

    class_two::student();

    return 0;

    }

    在student函数内用了两个命名空间(namespace),输出的结果是:

    ’’ Xiao Ming is the representative of mathematics class’’

    ’’ Xiao hong is the representative of mathematics class’’

    使用using关键词也可以指定特定的命名空间。

    #include <iostream>

    using namespace std;

    //命名空间一班

    namespace class_one {

    //函数,类名等等

    void student() {

    cout << ’’ Xiao Ming is the representative of mathematics class’’ << endl;

    }

    }

    //命名空间二班

    namespace class_two {

    void student() {

    cout << ’’ Xiao hong is the representative of mathematics class’’ << endl;

    }

    }

    //这里使用using的方法

    using namespace class_one;

    int main () {

    student(); //这里直接调用student()即可,不必指明所属命名空间

    return 0;

    }

    输出结果:

    ’’ Xiao Ming is the representative of mathematics class’’

    相关文章

      网友评论

        本文标题:每天一个知识点(六)

        本文链接:https://www.haomeiwen.com/subject/gcaiuhtx.html