0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文了解C++的命名空间

如意 来源:CSDN 作者:cherrydreamsover 2020-06-29 14:48 次阅读

一、命名空间

1.引入

C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局命名空间中,会导致很多冲突, 使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,Namespace关键字的出现就是针对这种问题的。

2.定义

(1)命名空间的定义

一文了解C++的命名空间

(2)相同的命名空间可以分割在不同的文件中,编译器最后都会合成在同一个命名空间下

一文了解C++的命名空间

(3)命名空间可以嵌套

一文了解C++的命名空间

(4)没有名称的命名空间(该命名空间的内容相当于全局变量)

一文了解C++的命名空间

说明:

(1)从本质上讲,一个命名空间就定义了一个范围,在命名空间中定义的任何东西都局限于该命名空间中。

(2)没有名称的命名空间可以只创建在声明它的文件才可见的标识符。(只有在声明这个命名空间的文件中,它的成员才是可见的,它的成员可以被直接访问,不需要命名空间名称来修饰。对于其它文件,该命名空间是不可见的)。

(3)把全局名称的作用域限制在声明他的文件中的一种方式就是把它的声明为静态的,尽管C++支持全局静态,但最好的方式还是使用未命名的空间。

3.使用方式

(1)命名空间内直接使用

一文了解C++的命名空间

(2)命名空间名称限制

一文了解C++的命名空间

(3)导入命名空间

一文了解C++的命名空间

(4)使用谁引入谁

一文了解C++的命名空间

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    3868

    浏览量

    61309
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72900
  • 变量
    +关注

    关注

    0

    文章

    595

    浏览量

    28112
收藏 人收藏

    评论

    相关推荐

    C++零基础教程之命名空间,轻松上手CC++区别之命名空间

    编程语言C++语言
    电子学习
    发布于 :2023年01月14日 12:14:37

    _C_命名空间_第1节

    函数C++代码
    充八万
    发布于 :2023年08月11日 11:48:21

    _C_使用指令的命名空间_第1节

    C++
    充八万
    发布于 :2023年08月11日 11:51:41

    [分享]种很好的编程命名方法:匈牙利命名

    时对变量的类型和其它属性有直观的了解,下面是HN变量命名规范,其中也有些是我个人的偏向:   属性部分   全局变量   g_   常量   c_   
    发表于 10-30 22:25

    单片机c++

    简单学过cc++,要入门单片机了,想知道单片机能用c++吗,听说能用。但是好像网上和图书馆都不怎么能找到相关资料。想了解下,
    发表于 05-08 13:07

    Google C++编程指南

    Google C++编程指南目标:增强代码致性,创建通用的、必需的习惯用语和模式可以使代码更加容易理解C++门包含大量高级特性的巨型语言,某些情况下,我们会限制甚至禁止使用某些特
    发表于 11-29 09:15

    C++笔记003:C++个小程序开始

    ;pause");}第行的头文件我学过C语言,还是能够多少理解些的,第二行的std命名空间就不知所云了,std 是标准
    发表于 03-05 12:51

    C++笔记008:C++命名空间 namespace的作用和使用解析

    定义了自己的命名空间就可以解决这个问题,即使重名,只要分属不同的命名空间就不会引起问题。在 C语言中定义了3个层次的作用域,即文件(编译单元
    发表于 08-11 12:30

    Linux的命名空间机制

    Linux命名空间概述
    发表于 03-18 14:40

    命名空间的实现

    。更多信息请参见手册页unshare(2)。在进程已经使用上述的两种机制之从父进程命名空间分离后,从该进程的角度来看,改变全局属性不会传播到父进程命名
    发表于 05-24 06:21

    hbase shell创建命名空间

    .hbase shell创建命名空间hbase shellcreate_namespace "gofish"二.python实现hbase增删改查# -*- coding
    发表于 07-28 06:45

    python常规包与命名空间

    python常规包与命名空间包1. 常规包在 Python 3.3 之前或者说 Python 2 中,个包想要被导入使用,那么该包内必须要有 __init__.py 文件,这个文件是 Python
    发表于 03-11 15:46

    RT-Thread如何实现C\C++的混合编译?要在哪里修改GCC的链接脚本?

    RT_USING_LIBC3.在xxx.h,xxx.cpp已经按照RT-Thread的官方教程加入using namespace rtthread命名空间;4.尝试添加过 extern "C
    发表于 03-22 14:41

    C++命名空间的几大用法

    译者注:可能很多程序员对C++已经非常熟悉,但是对命名空间经常使用到的地方还不是很明白,这篇文章就针对命名空间这一块做了一个叙述。
    发表于 09-28 18:31 0次下载

    了解SiC器件的命名规则

    了解SiC器件的命名规则
    的头像 发表于 11-27 17:14 445次阅读
    <b class='flag-5'>了解</b>SiC器件的<b class='flag-5'>命名</b>规则