Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > 名空间的使用
【标  题】:名空间的使用
【关键字】:
【来  源】:http://www.cublog.cn/u/16292/showart.php?id=107889

名空间的使用

Your Ad Here     using 指示符使名字空间成员名可见就好像它们是在名字空间被定义的地方之外被声明的一样例如由于using 指示符名字空间cplusplus_primer 的成员就好像是在全局域中func()定义之前声明的一样using 指示符并没有为名字空间成员的名字声明局部的别名而是把名字空间的成员转移到包含该名字空间定义的那个域中比如如下代码
namespace A {
int i, j;
}
对域中有如下using 声明的代码来说
using namespace A;
看起来就像
int i, j;
我们来看个例子它说明了using 声明的影响它保留了该名字空间域但是将成员名与
一个局部同义词相关联以及using 指示符的影响其效果相当于去掉了该名字空间
namespace blip {
int bi = 16, bj = 15, bk = 23;
// 其他声明
}
int bj = 0;
void manip() {
using namespace blip; // using 指示符 -
// ::bj 和 blip::bj 之间的冲突只在bj 被使用时才被检测到
++bi; // 设置 blip::bi 为 17
++bj; // 错误: 二义性
// 全局 bj 还是 blip::bj?
++::bj; // ok: 设置全局 bj 为 1
++blip::bj; // ok: 设置 blip::bj 为 16
int bk = 97; // 局部 bk 隐藏 blip::bk
++bk; // 设置局部 bk 为 98
}


    标准C++库中的所有组件都是在一个被称为std 的名字空间中声明和定义的在标准头
文件如<vector>或<iostream> 中声明的函数对象和类模板都被声明在名字空间std 中


C++的学习感想:【上一篇】
C++ 站点推荐:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • 第 5 部分:编译源码软件包管理
  • QuickPart : 用户控件包装器 for SharePoint Server 2007
  • shell学习笔记(《UNIX和shell程序设计权威教程》)
  • VMware中Linux内核2.6.14.4编译全过程(终于编译通过了!!!)
  • 发行版发布: Ubuntu Christian Edition 1.5
  • 经典c程序100例
  • xmms显示中文
  • 全屏幕文本编辑器Vi
  • 汇编语言工具下载
  • 3槽机箱式交换机
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.