• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C语言 > C++ namespace相关语法实例分析

C++ namespace相关语法实例分析

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c++ namespace,c++ using namespace,语法错误 namespace,using namespace std,namespace等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

namespace命名空间是C++中一个非常重要的概念,本文实例展示了namespace的相关语法,供大家参考。具体如下:

本段测试代码包括如下内容:

(1) 如何访问namespace中声明的名称;
(2) namespace导致的相关冲突;
(3) namespace可嵌套;
(4) 可以在namespace中使用using声明和using编译命令;
(5) 未命名的namespace:其作用域为定义该namespace所在的声明区域。C++推荐用来替代static定义静态变量。

具体程序代码如下:

#include <iostream>

using namespace std;

namespace jerry{
  int height;
  int weight;
  void showHeight();
  string name;
}

//
namespace jerry{
  void showHeight()
  {
    cout<<"Method 3: Jerry height: "<<height<<" kg"<<endl;
  }
}

namespace elements
{
  namespace fire
  {
    int flame;
    using namespace jerry; //(4) can use 'using' in namespace define
    using std::cout;
  }
  float water;
}

//(5) no name namespace
//其作用域为定义时所在的声明域,可用来替换static变量,这是C++标准推荐的行为
namespace {
  string data;
}

void testFun();
int main()
{
  cout<<"This code is to test namespace"<<endl;
  /*not allowed to define namespace in code segment
  //Error
  namespace jerry{
     int height;
     int weight;
  }
  */

  //(1) To access the data in namespace
  //Method 1: 作用域解析符
  jerry::height = 165;
  cout<<"Method 1: Jerry height: " << jerry::height <<" cm"<<endl;

  //Method 2: using声明
  using jerry::weight;
  weight = 64;
  cout<<"Method 2: Jerry weight: " << weight<<" kg"<<endl;

  //Method 3: using编译指令:All the define data in namespace jerry can be access.
  using namespace jerry;
  showHeight();

  //(2) about name conflict
  {
    jerry::name = "Jerry";
    string name = "Tom";
    //using jerry::name; Error
    cout << "name: "<<name<<endl;
    /*
    This method will lead conflict with locall parameter
    using jerry::name;
    cout << "name: "<<name<<endl;
    */

    cout << "name: "<<jerry::name<<endl;
    using namespace jerry;
    //局部变量会覆盖jerry命名空间的name定义
    cout << "name: "<<name<<endl;

  }

  //(3) namespace can nest
  elements::fire::flame = 2;
  using namespace elements::fire;

  //(5) no name namespace
  //其作用域为定义时所在的声明域,可用来替换static变量,这是C++标准推荐的行为
  data = "hello";
  cout<<"No name namespace: data: " << data <<endl;
  testFun();

}

void testFun()
{

  /*not allowed to define namespace in code segment
  //Error
  namespace jerry{
     int height;
     int weight;
  }
  */

  //(5) no name namespace
  data = "hello in function";
  cout<<"No name namespace: data: " << data <<endl;
}

</div>

运行结果如下图所示:

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C++ namespace相关语法实例分析

相关文章

  • 2017-05-28c++支持coroutine的简单示例
  • 2017-05-28快速入门的一些C\C++书籍
  • 2017-05-28深入二叉树两个结点的最低共同父结点的详解
  • 2017-05-28安装OpenMPI来配合C语言程序进行并行计算
  • 2017-05-28C++编程中变量的声明和定义以及预处理命令解析
  • 2017-05-28C++ boost::asio编程-同步TCP详解及实例代码
  • 2017-05-28基于typedef的用法详解
  • 2017-05-28MFC自定义消息的实现方法
  • 2017-05-28C语言二维数组的处理实例
  • 2017-05-28do...while(0)的妙用详细解析

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C语言 实现归并排序算法
    • 浅谈防不胜防的unsigned int的运算
    • 怎么通过C语言自动生成MAC地址
    • VC文件目录常见操作实例汇总
    • 深入解析C++的WNDCLASS结构体及其在Windows中的应用
    • C语言之free函数以及野指针介绍
    • 利用C语言的Cairo图形库绘制太极图实例教程
    • 浅析设计模式中的代理模式在C++编程中的运用
    • VC++操作SQLite简单实例
    • C++递归线性阵列搜索数字的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有