c++名称空间

在c++中,名称可以是变量、函数、结构、枚举、类以及类和结构的成员。当随着项目的增大,名称相互冲突的可能性也将增加。使用多个厂商的库类时,可能导致名称冲突。例如两个库都可能定义了名为list、tree和node的类,单定义方式不兼容。用户可能希望使用一个库的list,而使用另一个库的tree类。这种冲突问题称为名称空间问题。

1、传统的c++名称空间

声明区域:声明区域是可以在其中进行声明的区域。例如,可以在函数外面声明全局变量,对于这种变量,其声明区域为其声明所在的文件。对于在函数中声明的变量,其声明区域为其生在所在的代码块。

作用域:变量的潜在作用域从声明点开始,到其声明区域结尾。因此潜在作用域比声明区域小,这是由于变量必须定义后才能使用。

c++关于全局变量和局部变量的规则定义了一种名称控件层次。每个声明区域都可以声明名称,这些名称独立于在其他声明区域中声明的名称。在一个函数中声明的局部变量不会在另一个函数中声明的局部变量发生冲突。

2.新的名称空间特性。

c++新增了这样一种功能,既通过定义一种新的声明区域来创建命名的名称控件,这样做的目的之一是提供一个声明名称的区域。一个名空间中的名称不会与另外一个名称空间的相同名称发生冲突,同时允许程序的其他部分使用该名称空间中声明的东西。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值