广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++命名空间使用详细介绍
  • 198
分享到

C++命名空间使用详细介绍

2024-04-02 19:04:59 198人浏览 独家记忆
摘要

目录1.前言2.定义3.using 指令4.using 声明5.嵌套的命名空间1.前言 在c++中,为了避免代码名称上所产生冲突,引入了命名空间这个东西。 命名空间相当于划分出一定的

1.前言

c++中,为了避免代码名称上所产生冲突,引入了命名空间这个东西。

命名空间相当于划分出一定的空间,为特定的类型,函数和变量等的名称(也就是标识符)提供了一个范围。

命名空间之内的标识符访问彼此没有限制,命名空间之外的标识符可通过使用每个标识符的完全限定名来访问成员,也可通过单个标识符的using声明或命名空间中所有标识符的using指令来访问成员。

命名空间可以定义在几个不同的部分中,因此命名空间是由几个单独定义的部分组成的。一个命名空间的各个组成部分可以分散在多个文件中。

2.定义

命名空间的定义使用关键字namespace,后跟命名空间的名称。

namespace namespace_name

{

// 代码声明

}

调用带有命名空间的函数或者变量时,需要在前面加上命名空间的名称(使用完全限定名)。

namespace_name::code; // code 可以是变量或函数

样例:

#include<iOStream>
using namespace std;
namespace A 
{
    void func() 
    {
        cout << "A" << endl;
    }
}
// 第二个命名空间
namespace B {
    void func() 
    {
        cout << "B" << endl;
    }
}
int main()
{
    // 调用第一个命名空间中的函数
    A::func();
    // 调用第二个命名空间中的函数
    B::func();
    return 0;
}

结果:

3.using 指令

当使用using 指令时,便可不用加完全限定名直接访问。

这个指令会让编译器直接使用namespace里的所有名称。

样例:

#include<iostream>
using namespace std;
namespace A 
{
    void func() 
    {
        cout << "A" << endl;
    }
}
// 第二个命名空间
namespace B {
    void func() 
    {
        cout << "B" << endl;
    }
}
using namespace B;
int main()
{
    // 只会调用第二个命名空间中的函数
    func();
    return 0;
}

结果:

4.using 声明

使用 using 声明,以将一个标识符引入范围:

#include<iostream>
using namespace std;
namespace A
{
    class a
    {
    public:
        void func()
        {
            cout << "A" << endl;
        }
    };
}
using namespace A;
A::a aa;
int main()
{
    aa.func();
    return 0;
}

结果为:

5.嵌套的命名空间

一个命名空间中可以定义另一个命名空间,一般形式为:

namespace namespace_name1 {
   // 代码声明
   namespace namespace_name2 {
      // 代码声明
   }
}

像上列代码,如果要访问namespace_name2中的成员,我们得使用::运算符来访问:

// 访问 namespace_name2 中的成员

using namespace namespace_name1::namespace_name2;

// 访问 namespace_name1 中的成员

using namespace namespace_name1;

样例:

#include<iostream>
using namespace std;
namespace A
{
    void func()
    {
        cout << "A" << endl;
    }
    // 第二个命名空间
    namespace B 
    {
        void func()
        {
            cout << "B" << endl;
        }
    }
}
using namespace A::B;
int main()
{
    // 只会调用第二个命名空间中的函数
    func();
    return 0;
}

结果为:

到此这篇关于C++命名空间使用详细介绍的文章就介绍到这了,更多相关C++命名空间内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C++命名空间使用详细介绍

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

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

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

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

下载Word文档
猜你喜欢
  • C++命名空间使用详细介绍
    目录1.前言2.定义3.using 指令4.using 声明5.嵌套的命名空间1.前言 在c++中,为了避免代码名称上所产生冲突,引入了命名空间这个东西。 命名空间相当于划分出一定的...
    99+
    2022-11-13
  • C++中的命名空间详细介绍
    目录命名空间的特性声明命名空间和命名空间成员全局命名空间不连续命名空间嵌套命名空间using声明和using编译指令命名空间别名综合代码示例总结命名空间的特性 首先熟悉一下命名空间的...
    99+
    2022-11-13
  • 详情介绍C++之命名空间
    目录C++命名空间1.概述 2.格式 3.定义范围 4.瀑布式开发格式 5.命名空间的访问方式 5.1空间名::变量名 5.2using namespace 空间名6.命名空间可以无...
    99+
    2022-11-12
  • C/C++中命名空间(namespace)详解及其作用介绍
    目录概述命名空间命名空间的作用自定义命名空间命名空间成员的方法案例概述 命名空间 (namespace) 可以帮助我们区分不同库中相同名称的函数, 类, 变量等. 使用了命名空间即定...
    99+
    2022-11-12
  • C++中命名空间(namespace)详解及其作用介绍
    目录为什么要有命名空间命名空间是什么怎么用为什么要有命名空间 在C语言中定义了3个层次的作用域:文件(编译单元)、函数和复合语句 在C++中,多了类 全局变量中不能有同名函数、变量和...
    99+
    2022-11-13
  • C++名称空间介绍
    目录1.名称空间1.1传统C++名称空间1.2新的名称空间特性1.名称空间 在C++当中,名称可以是变量、函数、结构体、枚举、类以及结构体和类的成员。这本身并没有问题,但随着项目的...
    99+
    2022-11-12
  • C++命名空间和缺省参数介绍
    一、命名空间 为什么引入命名空间 在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行...
    99+
    2022-11-12
  • ASP.NET Core命名空间System.Text.Encodings.Web介绍
    System.Text.Encodings.Web 空间包含表示 Web 编码器的基类、表示 HTML、JavaScript 和 Url 字符编码的子类,以及表示仅允许编码特定字符、...
    99+
    2022-11-12
  • php命名空间举例介绍使用方法
    命名空间是为了解决当前文件内相同作用域内常量名之间、函数名之间、类名之间的命名冲突。 在 PHP 中变量名是不会冲突的,在相同作用域内,对于同一个变量,最后一个变量会取代前一个变量的...
    99+
    2022-11-13
  • C++ 命名空间详解
    目录一、C++ 命名空间1.默认NameSpace(Global&Function)2.语法规则1.声明 2.使用方法3.支持嵌套总结一、C++ 命名空间 命名空间...
    99+
    2022-11-12
  • 【C++】命名空间 namespace 与 标准流 iostream ( 命名空间概念简介 | 命名空间定义 | 命名空间使用 | iostream 中的命名空间分析 )
    文章目录 一、命名空间 namespace1、命名空间基本概念2、名称概念4、C 语言的命名空间3、命名空间避免标识符冲突 二、命名空间定义1、命名空间基本概念2、命名空间定义语法3、代码示例 - 命名空间定义使用 三、命名...
    99+
    2023-08-20
    c++ namespace iostream 命名空间 标准流 原力计划
  • oracle 创建表空间详细介绍
    Oracle是一种关系型数据库管理系统,它使用表空间来存储数据和索引。表空间是逻辑上的概念,它是由一个或多个数据文件组成的。一个数据...
    99+
    2023-08-17
    Oracle
  • C++BoostMultiIndex使用详细介绍
    目录一、关于BOOST的容器二、Boost.MultiIndex练习一、关于BOOST的容器 容器是 C++ 中最有用的数据结构之一。标准库提供了许多容器,而 Boost 库提供的更...
    99+
    2022-11-13
    C++ Boost MultiIndex C++ MultiIndex
  • C++的命名空间详解
    目录C++ | C++命名空间C++命名空间定义命名空间实例1:using 指令实例2:实例3:不连续的命名空间嵌套的命名空间实例4:实例5:笔记:实例6:实例7:总结C++ | C...
    99+
    2022-11-12
  • C++命名空间namespace详解
    目录一、命名空间的定义1.一般定义2.嵌套定义3.重名定义二、命名空间的使用1.命名空间的名称及作用域限定符2.使用using namespace 命名空间全展开3.使用using引...
    99+
    2023-05-14
    命名空间 namespace c++ 命名空间 namespace
  • C++空间命名的使用
    目录前言一、命名空间二、命名空间定义1.嵌套性2.和并性3. 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。 ps:一个工程中的test.h和上面te...
    99+
    2023-01-28
    C++ 空间命名
  • Linux用户空间与内核地址空间的详细介绍
    这篇文章主要介绍“Linux用户空间与内核地址空间的详细介绍”,在日常操作中,相信很多人在Linux用户空间与内核地址空间的详细介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux用户空间与内核地址空...
    99+
    2023-06-15
  • Oracle数据库表空间超详细介绍
    目录表空间概述表空间的分类创建表空间参数详解1、undo2、tablespace3、datafile datefile_spec14、MININUM EXTENT integer [k|m]5、blockSIZE int...
    99+
    2023-05-12
    oracle表空间是什么 oracle 表空间查询 oracle表空间创建
  • C++四种cast使用详细介绍
    目录一、static_cast1、基本数据类型转换2、指针和void指针的转换 3、父类和子类之间的转换二、dynamic_cast三、const_cast1、加上cons...
    99+
    2022-11-13
  • C++学习之命名空间详解
    目录1.命名空间的定义和使用2.命名空间嵌套3.命名空间别名4.标准命名空间总结C++中,命名空间(namespace)是一个重要的概念。命名空间可以为函数、变量、类等定义作用域,以...
    99+
    2023-05-18
    C++命名空间定义 C++命名空间使用 C++命名空间
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作