广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++中的命名空间实例分析
  • 359
分享到

C++中的命名空间实例分析

2023-06-29 04:06:25 359人浏览 安东尼
摘要

这篇“c++中的命名空间实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++中的命名空间实例分析”文章吧。命名空间的

这篇“c++中的命名空间实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++中的命名空间实例分析”文章吧。

命名空间的特性

首先熟悉一下命名空间的两个概念。

声明区域:可以在其中进行声明的区域,如全局文件的声明区域是文件,函数内声明的变量声明区域为代码块。潜在作用域:潜在作用域从声明点开始,到其声明区域的结尾。因此潜在作用域比声明区域小,因为变了必须定义后才能使用。
这两个概念通过下图很好理解,也是编程的常识。

C++中的命名空间实例分析

C++中的命名空间实例分析

声明命名空间和命名空间成员

可以使用如下语法声明命名空间和空间成员

namespace Jack {double a;struct b {};void f();}

全局命名空间

如果未在显式命名空间中声明某个标识符,则该标识符属于隐式全局命名空间的一部分。 一般情况下,尝试避免在全局范围内进行声明(入口点 Main 函数除外,它必须位于全局命名空间中)。
全局命名空间可以是用 ::var 来调用。

不连续命名空间

即同一个命名空间可以在多个文件中定义,如
file1.cpp

namesapce A {int a;}

file2.cpp

namesapce A {int b;}

在编译时会将分散在各个文件中的同一个命名空间集合在一起。

嵌套命名空间

命名空间也是可以嵌套的

namespace A {namespace B {}}

using声明和using编译指令

using声明将特定的名称添加到它所属的声明区域中,例如using A::a;,相当于 Java 中的静态导入,而using 编译指令使名称空间的所有名称都可以用,而不需要使用作用于解析符,如 using namespace std;,作用相当于 Java 中的。import java.util.*。这里记录一下注意点。

using A::pal;using B::pal; // error declaration conflictpal = 4;

上述代码会引起冲突。
一般而言使用using声明会更安全点。

命名空间别名

命名空间名称必须是唯一的,这意味着通常它们不应太短。 如果名称的长度使代码难以读取,或在不能使用 using 指令的标头文件中键入枯燥,则可以创建一个命名空间别名作为实际名称的缩写。 例如:

namespace a_very_long_namespace_name { class Foo {}; }namespace AVLNN = a_very_long_namespace_name;void Bar(AVLNN::Foo foo){ }

综合代码示例

#include <iOStream>using namespace std;namespace A {    int a = 100;    namespace B            //嵌套一个命名空间B    {        int a = 20;    }}int a = 200;//定义一个全局变量int main(int arGC, char *argv[]) {    cout << "A::a =" << A::a << endl;    cout << "A::B::a =" << A::B::a << endl;    cout << "a =" << a << endl;    cout << "::a =" << ::a << endl;    int a = 30;    cout << "a =" << a << endl;    cout << "::a =" << ::a << endl;    return 0;}

output:

A::a =100
A::B::a =20
a =200
::a =200
a =30
::a =200

以上就是关于“C++中的命名空间实例分析”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网其他教程频道。

--结束END--

本文标题: C++中的命名空间实例分析

本文链接: https://www.lsjlt.com/news/322440.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++中的命名空间实例分析
    这篇“C++中的命名空间实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C++中的命名空间实例分析”文章吧。命名空间的...
    99+
    2023-06-29
  • C++11内联命名空间举例分析
    本篇内容介绍了“C++11内联命名空间举例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!命名空间简介随着软件开发规模的扩大,类名,函数名...
    99+
    2023-06-19
  • C++中名称空间的示例分析
    小编给大家分享一下C++中名称空间的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1.名称空间在C++当中,名称可以是变量、函数、结构体、枚举、类以及结构体和类的成员。这本身并没有问题,但随着项目的增大,名称之间相...
    99+
    2023-06-22
  • namesapce命名空间的示例分析
    这篇文章主要介绍了namesapce命名空间的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.命名空间的使用目的   在PHP中函数、类、常量是不允许同名...
    99+
    2023-06-06
  • Flex命名空间的示例分析
    这篇文章主要介绍了Flex命名空间的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Flex命名空间详解通过命名空间可以控制所创建的属性和方法的可见性。请将public...
    99+
    2023-06-17
  • 【C++】命名空间 namespace 与 标准流 iostream ( 命名空间概念简介 | 命名空间定义 | 命名空间使用 | iostream 中的命名空间分析 )
    文章目录 一、命名空间 namespace1、命名空间基本概念2、名称概念4、C 语言的命名空间3、命名空间避免标识符冲突 二、命名空间定义1、命名空间基本概念2、命名空间定义语法3、代码示例 - 命名空间定义使用 三、命名...
    99+
    2023-08-20
    c++ namespace iostream 命名空间 标准流 原力计划
  • JavaScript命名空间模式的示例分析
    这篇文章将为大家详细讲解有关JavaScript命名空间模式的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:前言命名空间可以被认为是唯一标识符下代码的逻...
    99+
    2022-10-19
  • C++namespace命名空间解析
    目录命名空间 namespace命名空间的定义1. 函数定义在命名空间里2.对全局变量使用命名空间3.命名空间的嵌套4.using命名空间5.命名空间里的结构体命名空间 namesp...
    99+
    2022-11-12
  • PHP核心特性命名空间的示例分析
    小编给大家分享一下PHP核心特性命名空间的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!提出PHP 在 5.3 后提出了命名空间用来解决组件之间的命名冲突问题,主要参考了文件系统的设计:同一个目录下不允许有相同的文...
    99+
    2023-06-15
  • C++中怎么实现命名空间
    C++中怎么实现命名空间 ,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。前言命名空间可作为附加信息来区分不同库中相同名称的函数、类、变量等。命名空间即定义了上下...
    99+
    2023-06-20
  • PHP关键特性之命名空间的示例分析
    这篇文章主要介绍PHP关键特性之命名空间的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!你知道命名空间主要是为了解决代码中类和函数可能存在冲突的问题的吗?而这个特性其他语言一早就有,PHP则是姗姗来迟,它的出...
    99+
    2023-06-15
  • VB.NET名字空间的示例分析
    小编给大家分享一下VB.NET名字空间的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!VB.NET名字空间在编写.NET软件时,我们会用到类和其他类型。为...
    99+
    2023-06-17
  • 示例详解C++语言中的命名空间 (namespace)
    目录前言1. 命名空间 2. using 指令 3. 不连续的命名空间 4. 嵌套的命名空间 5. 命名空间内变量、函数、全局变量的作用域5.1 using namespace fi...
    99+
    2022-11-12
  • C++空间命名的使用
    目录前言一、命名空间二、命名空间定义1.嵌套性2.和并性3. 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。 ps:一个工程中的test.h和上面te...
    99+
    2023-01-28
    C++ 空间命名
  • C++的命名空间详解
    目录C++ | C++命名空间C++命名空间定义命名空间实例1:using 指令实例2:实例3:不连续的命名空间嵌套的命名空间实例4:实例5:笔记:实例6:实例7:总结C++ | C...
    99+
    2022-11-12
  • Python中的作用域与名字空间实例分析
    这篇文章主要介绍“Python中的作用域与名字空间实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中的作用域与名字空间实例分析”文章能帮助大家解决问题。变量只是一个符号从解释器的角...
    99+
    2023-07-05
  • C# System.IO.Compression命名空间怎么实现
    这篇文章主要介绍“C# System.IO.Compression命名空间怎么实现”,在日常操作中,相信很多人在C# System.IO.Compression命名空间怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-06-17
  • Python名称空间与作用域实例分析
    本篇内容主要讲解“Python名称空间与作用域实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python名称空间与作用域实例分析”吧!一 名称空间名称空间即存放名字与对象映射/绑定关系的...
    99+
    2023-06-30
  • C++中的命名空间详细介绍
    目录命名空间的特性声明命名空间和命名空间成员全局命名空间不连续命名空间嵌套命名空间using声明和using编译指令命名空间别名综合代码示例总结命名空间的特性 首先熟悉一下命名空间的...
    99+
    2022-11-13
  • C#中怎么反射命名空间
    这篇文章将为大家详细讲解有关C#中怎么反射命名空间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C#反射命名空间详细介绍:1.System.Reflection命名空间内的各类型(1) As...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作