C++名称空间特性

 更新时间:2022年01月02日 10:45:16   作者:梁唐  
这篇文章主要介绍了C++名称空间特性,文章围绕C++名称空间特性的相关资料展开详细内容,需要的小伙伴可以参考一下下文具体内容,希望对你的学习有所帮助

文章转自微信公众号:Coder梁(ID:Coder_LT)

一、名称空间特性

1.嵌套

我们可以将名称空间声明进行嵌套:

namespace elements {
    namespace fire {
        int flame;
        ...
    }
    float water;
}

我们观察一下可以发现这里的flame位于elements::fire当中,所以当我们使用解析运算符使用它的时候写成:elements::fire::flame。

同样,我们也可以使用using编译指令引入fire名称空间:

using namespace elements::fire;

2.传递

并且我们还可以把using编译指令和using声明应用在名称空间当中:

namespace myth {
    using Jill::fetch;
    using namespace elements;
    using std::cout;
    using std::cin;
}

假设我们要访问Jill::fetch,由于它已经被引入myth当中了,所以我们可以这样访问:

std::cin >> myth::fetch;

并且using编译指令是可以传递的,A 引入了B,B引入了C,等价于A也引入了C。比如当我们运行using namespace myth;,由于myth当中引入了elements,等价于同时运行了这两条:

using namespace myth;
using namespace elements;

3.别名

我们还可以给名称空间创建别名,例如:

namespace my = myth::elements::fire;
using my::flame;

在上面这个例子当中,我们将别名和名称空间的嵌套结合在了一起使用。其实有一点像是将名称空间当成是一种特殊变量处理的感觉。

4.匿名名称空间

我们还可以省略名称空间的名称来创建匿名名称空间。

namespace {
    int ice;
    int bandy;
}

它相当于后面跟着using编译指令一样,也就是说匿名的名称空间的潜在作用域为从声明点到该声明区域末尾。从这点来看,它与全局变量相似。但由于它是匿名的,所以无法在其他文件当中使用using关键字引入,所以不能在其他文件使用,某种意义上有些类似于链接性为内部的静态变量。

到此这篇关于C++名称空间特性的文章就介绍到这了,更多相关C++名称空间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++ QT智能指针的使用详解

    C++ QT智能指针的使用详解

    这篇文章主要介绍了C++ QT智能指针的使用,Qt是一个跨平台的C++框架,主要用来开发图形用户界面程序,也可以开发不带界面的命令行程序,下面我们来了解QT智能指针是如何使用的
    2023-12-12
  • C++提取文件中信息的方法

    C++提取文件中信息的方法

    这篇文章主要为大家详细介绍了C++提取文件中信息的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • C++实现LeetCode(39.组合之和)

    C++实现LeetCode(39.组合之和)

    这篇文章主要介绍了C++实现LeetCode(39.组合之和),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C/C++获取Windows平台CPU占用率的方法

    C/C++获取Windows平台CPU占用率的方法

    最近在做系统信息相关的接口,为了实现跨平台,故在linux和Windows平台获取占用率信息,文章主要介绍Windows下的方法,文中给出了参考代码,需要的朋友可以参考下
    2023-12-12
  • C语言中的正则表达式使用示例详解

    C语言中的正则表达式使用示例详解

    正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。本文通过示例代码给大家介绍了C语言中的正则表达式使用,感兴趣的朋友跟随小编一起看看吧
    2019-07-07
  • C++中字符串以及数组和指针的互相使用讲解

    C++中字符串以及数组和指针的互相使用讲解

    这篇文章主要介绍了C++中字符串以及数组和指针的互相使用讲解,是C++入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • C++中的对象数组详细解析

    C++中的对象数组详细解析

    在建立数组时,同样要调用构造函数。如果有50个元素,就需要调用50次构造函数。在需要的时候,可以在定义数组时提供实参以实现初始化
    2013-10-10
  • C++模板之特化与偏特化详解

    C++模板之特化与偏特化详解

    这篇文章主要介绍了C++模板之特化与偏特化详解,本文讲解了什么是C++模板、模板特化、模板偏特化、特化与偏特化的调用顺序等内容,需要的朋友可以参考下
    2014-10-10
  • C/C++编写推箱子小游戏

    C/C++编写推箱子小游戏

    这篇文章主要为大家详细介绍了C/C++编写推箱子小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • C++数据结构与算法之判断一个链表是否为回文结构的方法

    C++数据结构与算法之判断一个链表是否为回文结构的方法

    这篇文章主要介绍了C++数据结构与算法之判断一个链表是否为回文结构的方法,结合实例形式分析了回文结构并结合实例给出了C++判断回文的操作技巧,需要的朋友可以参考下
    2017-05-05

最新评论