命名空间的理解

一、为什么要有命名空间

一个工程的完成,往往由不同的人来共同完成,此时就有可能出现一个问题,不同的人写的函数名字会和另外一个人写的函数名字相同,此时哪一个函数是我们需要的呢?
所以我们为了解决这样的冲突,便采用了命名空间的方法,所谓的命名空间便是由用户自定义一个作用域,在不同的命名空间作用域内并不会互相影响。

二、命名空间的定义

命名空间是建立一些互相冲突的作用域,把一些全局实体分隔开。

命名空间存放的实体只在本命名空间域内有效,在此命名空间外部无效,这样便可解决了命名冲突问题。

命名空间用namespace开头,后面跟上命名空间的名字,他可以在全局作用域和其他作用域内部定义,但是不可以在类内部或者函数内部定义。

注意:

  • 命名空间不以’ ; ‘结尾。

三、命名空间的使用

①当我们需要在外部使用某个命名空间

可以采用以下格式:

  • 命名空间名字::命名空间成员

②无名的命名空间

一个命名空间如果没有名字,便是一个无名的命名空间。

namespace 
{
    int a = 0;
}

③命名空间别名

别名就是可以使用另外一个名字替换以下名字,如下程序便是使用Home替换MyHome的一个事例。

namespace MyHome
{..}
namespace Home=MyHome

④使用using命名空间成员名

using后面加上需要使用的成员,是对其中一个成员进行声明,这样我们可以在以后的程序中使用它,但是需要注意的是,我们不能在同一作用域内声明相同的成员。

using MyHome::float;

⑤使用using namespace 命名空间名

using是针对命名空间内的一个成员的声明,那么如果我们需要声明它里面的所有成员我们应该如何做呢?

此时我们便可以采用using namespace 命名空间名来声明

例如:

using namespace std;

如上我们便可以在以后的程序中使用std命名空间的内容,而不用每次声明它。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值