码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 命名空间

时间:2015-08-11 23:46:00      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:c++

我就是喜欢简简单单的表达。


使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突。

Namespace 关键字的出现就是针对这种问题的。由于这种机制对于声明于其中的名称都进行了本地化,就使得相同的名称可以在不同的上下文中使用,而不会引起名称的冲突。我们也可以在自己的程序中创建自己的命名空间,这样可以对我们认为可能导致冲突的名称进行本地化。这点在我们创建类或者是函数库的时候是特别重要的。

命名空间基础

namespace 关键字使得我们可以通过创建作用范围来对全局命名空间进行分隔。本质上来讲,一个命名空间就定义了一个范围。定义命名空间的基本形式如下:

namespace 名称{//声明}

在命名空间中定义的任何东西都局限于该命名空间内。

using关键字

如果在程序中需要多次引用某个命名空间的成员,那么按照之前的说法,我们每次都要使用范围解析符来指定该命名空间,这是一件很麻烦的事情。为了解决这个问题,人们引入了using关键字。using语句通常有两种使用方式:

using namespace 命名空间名称;

using 命名空间名称::成员;


以上转载http://blog.chinaunix.net/uid-26874138-id-3215266.html

=============================================================================

文件:student.h

#include <iostream>

using namespace  std;
namespace stu {

    class student {
        public: 
            student(){};
            ~student(){};
            int fun(){
                cout << "stu" << endl;
            }       
    };
}

namespace ter {
    class student {

        public: 
            student(){};
            int fun()   
            {       
                cout << "teacher" << endl;
            }       
    };
}


文件名:namespace.cxx 

#include <stdio.h>
#include <iostream>
#include "student.h"

using namespace std;

using namespace stu;
using namespace ter;

int main(void)
{
    stu::student a;
    ter::student b;
     a.fun(); 
     b.fun();


    return 0;
}
~


总结:一个命名一个空间,内容随意重复互补干扰。

本文出自 “自己简单总结” 博客,请务必保留此出处http://2714254.blog.51cto.com/2704254/1683760

C++ 命名空间

标签:c++

原文地址:http://2714254.blog.51cto.com/2704254/1683760

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!