C++Plus Prime笔记----名称空间

一些运用名称空间的指导原则:

  • 使用在已命名的名称空间中声明的变量,而不是使用外部全局变量。
  • 使用在已命名的名称空间中声明的变量,而不是使用静态全局变量。
  • 如果开发了一个函数库或类库,将其放在一个名称空间中。事实上,C++当前提倡将标准函数库放在名称空间std中,这种做法扩展到了来自C语言中的函数。
  • 仅将编译指令using作为一种将旧代码转换为使用名称空间的权宜之计。
  • 不要在头文件中使用使用using编译指令。这样做掩盖了要让哪些名称可用;另外,包含头文件的顺序可能影响程序的行为。如果非要使用编译指令using,应将其放在所有处理器编译指令#include之后。
  • 导入名称时,首先使用作用域解析运算符或using声明的方法。
  • 对于using声明,首先将其作用域设置为局部而不是全局。

使用名称空间的主旨是简化大型编程项目的管理工作。对于简单程序,使用using指令也不是不可取的。

        名称空间允许定义一个可在其中声明标识符的命名区域。这样做的目的是减少名称冲突,尤其当程序非常大,并使用多个厂商的代码时。可以通过使用作用域解析运算符、using声明或using编译指令,来使名称空间中的标识符可用。

        名称空间可以是全局的,也可以位于另一个名称空间中,但不能位于代码块中。因此,在默认情况下,在名称空间中声明的名称的链接性为外部的(除非它引用的常量)。

        除了用户定义的名称空间外,还存在另一个名称空间------全局名称空间。它对应于文件级声明区域,因此全局变量现在被描述为位于全局名称空间中。

namespace  C{
    char * name;
    void  printf();
    int   foobar;
}


namespace Cplus{
    string  name;
    int foobar;
    
}


C::printf();

Cplus::name = C::name;
    

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值