【自学C++】C++命名空间

news2025/4/6 16:26:27

C++命名空间

C++命名空间教程

C++ 中的命名空间实际上就是一个由程序设计者命名的内存区域,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其他全局实体分隔开来。

命名空间是 ANSI C++ 引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突。

C++命名空间详解

语法

namespace namespaceName

参数

参数描述
namespace定义命名空间使用的关键字。
namespaceName命名空间的名称。

说明

我们使用了 namespace 定义了一个命名空间 namespaceName。

访问命名空间成员详解

语法

namespaceName::member;

参数

参数描述
namespaceName要访问成员的命名空间的名称。
member要访问的成员。

说明

我们使用 namespaceName 后面加上 :: 的形式,访问命名空间的成员。

案例

C++命名空间定义

定义 C++ 命名空间,区分作用域

#include <iostream>
using namespace std;

int MAX_NUM = 10;

int MAX_NUM = 20;

int main()
{
	cout << "嗨客网(www.haicoder.net)\n" << endl;
    
    cout << "MaxNum = " << MAX_NUM << endl;
    
    return 0;
}



程序运行后,控制台输出如下:

请添加图片描述

我们看到,我们定义了两个 int 类型变量,并且,这两个变量名都是 MAX_NUM,因此,我们编译程序,程序报错,即变量被重新定义了, 现在,我们修改程序如下:

#include <iostream>
using namespace std;

namespace MAX1
{
	int MAX_NUM = 10;
}

namespace MAX2
{
	int MAX_NUM = 20;
}


int main()
{
	cout << "嗨客网(www.haicoder.net)\n" << endl;
    
    cout << "Max1::MaxNum = " << MAX1::MAX_NUM << endl;
	cout << "Max2::MaxNum = " << MAX2::MAX_NUM << endl;

    return 0;
}

程序运行后,控制台输出如下:

请添加图片描述

这次,我们定义了两个命令空间,MAX1 和 MAX2,并分别将两个变量放在了不同的命名空间中,这次,我们可以看到,我们的程序可以正常运行了,这是因为我们使用了命名空间区分了两个变量的作用域。

最后,我们在 main 函数 中,使用了 MAX1::MAX2:: 的形式来访问了命名空间中的变量。

C++命名空间总结

命名空间是 ANSI C++ 引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/145212.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端入门笔记 03 —— Web(html CSS)布局

常用布局 包含两个定义&#xff1a; 尺寸 定位 定义通过CSS拾取网页元素&#xff0c;控制他们控制普通文档流&#xff0c;周边元素&#xff0c;父容器&#xff0c;浏览器窗口 覆盖默认布局行为盒子模型普通文档流 &#xff08;左到右&#xff0c;上到下&#xff09; 块级元素…

2022年中国数字化十大转型趋势

推动数字化发展既是数字时代构筑竞争新优势的战略选择&#xff0c;也是加快构建“双循环”新发展格局和打造高质量发展新引擎的现实需要。我国高度重视数字化发展&#xff0c;不断完善政策措施&#xff0c;着力推动数字化转型。从行业发展看&#xff0c;构建以数据为驱动、以客…

Redis(一)

Nosql 即 Not-Only SQL&#xff08; 泛指非关系型的数据库&#xff09;&#xff0c;作为关系型数据库的补充。 Nosql 作用&#xff1a;应对基于海量用户和海量数据前提下的数据处理问题。 特征 降低磁盘IO次数&#xff0c;越低越好 —— 内存存储 去除数据间关系&#xff…

网络技术基础

theme: qklhk-chocolate 网络技术基础 一、IP地址基础 IP地址是指在网络中用于标识发送或接收数据报文设备的唯一的逻辑地址。 IP地址的主要作用&#xff1a; 标识主机或网络设备&#xff08;标识其网络接口&#xff0c;提供其在网络中的位置&#xff09;网络寻址 •在IP网…

安装pytorch搭配cuda使用

问题 深度学习程序&#xff0c;在服务器运行&#xff0c;需要借助GPU加速。为了检测是否开启了GPU加速&#xff0c;采用以下代码&#xff1a; ~python >> import torch >> torch.cuda.is_available() >> false #说明没有使用GPU加速安装过程 安装老版本的…

如何做好美颜sdk与直播平台的适配?

美颜sdk作为目前社交视频拍摄平台用户的刚需&#xff0c;在近几年可谓是名声大噪&#xff0c;无论是强大的美颜功能还是多元化的趣味拍摄方案都让用户们“爱不释手”&#xff0c;平台自然也是看中了这一点&#xff0c;纷纷为自己平台接入美颜工具。但是&#xff0c;美颜sdk作为…

免费视频格式转换软件,6大免费视频转换器推荐

看到大多数人拥有电脑、智能电视&#xff0c;尤其是移动设备&#xff0c;这一代人并不奇怪。在线观看电影和视频是最常见的消磨时间的娱乐方式之一。能够通过网络观看视频是件好事。有些人还喜欢下载它以供离线观看&#xff0c;因为您并非一直都在使用 Wi-Fi。有时&#xff0c;…

C++——异常

文章目录1.C语言传统的处理错误的方式2. C异常概念3. 异常的使用3.1 异常的抛出和捕获3.2 异常的重新抛出3.3异常安全3.4 异常规范4.自定义异常体系5.C标准库的异常体系6.异常的优缺点6.1 C异常的优点&#xff1a;6.2 C异常的缺点&#xff1a;1.C语言传统的处理错误的方式 传统…

Codeforces Round #842 (Div. 2)(A~D)

A. Greatest Convex给出数字k&#xff0c;输出最大的x&#xff0c;使得x满足大于等于1小于k&#xff0c;且x! (x - 1)!是k的倍数。思路&#xff1a;提取公因式得到&#xff0c;(x 1) * (x - 1)!&#xff0c;由题意知&#xff0c;x 1可以是k&#xff0c;故x最大是k - 1且一定…

如何制作网站?不知道这个诀窍你的网站等于白做

如何制作网站?不知道这个诀窍你的网站等于白做!#外贸 #独立站 #跨境电商 #网站优化 #网站建设 做每一个网页之前&#xff0c;先确定好网页里面的元素&#xff0c;你知道客户是谁&#xff0c;他目前生意做什么体量&#xff0c;主要做什么市场&#xff1f; 我在根据我拿到的这…

【实操篇】Linux的磁盘分区和挂载

目录 ●磁盘分区及挂载 ●典型案例实战 ●磁盘查询 1.查询系统整体磁盘使用情况 2.查询指定目录的磁盘占用情况 3.实用指令及其案例 ●树状目录展示 ●磁盘分区及挂载 简要介绍&#xff1a; 1.Linux无论有几个分区&#xff0c;还是分给哪个目录去使用。它归根结底也就只有…

C. Least Prefix Sum(优先队列)

传送门题意&#xff1a;给你一个长度为n的数组&#xff0c;你可以进行任意次操作&#xff08;也可能是0&#xff09;&#xff0c;可以使&#xff0c;然后给你一个数m&#xff0c;问你要进行多少次操作&#xff0c;才能使长度为m的前缀和的值在所有的前缀和中最小。思路&#xf…

JS 的 9 种作用域,你能说出几种?

作用域想必大家都知道&#xff0c;就是变量生效的范围&#xff0c;比如函数就会生成一个作用域&#xff0c;声明的变量只在函数内生效。 而这样的作用域一共有 9 种&#xff0c;其中几种绝大多数前端都说不出来。 下面我们就一起过一遍这 9 种作用域吧&#xff0c;看看你知道…

具有自主、多鳍和仿生机器人的鱼类三维游泳(2021)

具有自主、多鳍和仿生机器人的鱼类三维游泳(2021) 原文链接&#xff1a;https://iopscience.iop.org/article/10.1088/1748-3190/abd013 这是一篇仿生机器鱼的设计&#xff0c;该论文从鱼的仿生结构到具体的一部分电路设计都有非常详细的介绍&#xff0c;鱼的尺寸大小仅有手掌…

只有从根本上改变对于元宇宙的看法,才能将它的发展带入到一个全新阶段

经历了资本的狂热追捧之后&#xff0c;元宇宙开始进入到相对冷静的发展阶段里。在这样一个阶段&#xff0c;元宇宙不再被看成是一个万能的存在&#xff0c;不再被看成是一个无所不包的存在&#xff0c;而是变成了一个相对较为客观和理性的存在。看看Meta的表现&#xff0c;看看…

未处理的非法访问读异常(插入影像图代码)

本文迁移自本人网易博客&#xff0c;写于2013年1月5日&#xff0c;未处理的非法访问读异常&#xff08;插入影像图代码&#xff09; - lysygyy的日志 - 网易博客 (163.com)Acad::ErrorStatus CustomApplication::createAcDbRasterImageDef (AcDbObjectId & parObjectId, AC…

2023年入职/转行网络安全行业,该如何规划学习?

前言 前段时间&#xff0c;知名机构麦可思研究院发布了**《2022年中国本科生就业报告》**&#xff0c;其中详细列出近五年的本科绿牌专业&#xff0c;其中&#xff0c;信息安全位列第一。 网络安全前景 对于网络安全的发展与就业前景&#xff0c;想必无需我多言&#xff0c;作…

【Leetcode】699. 掉落的方块(困难)

一、题目 1、题目描述 在二维平面上的 x 轴上&#xff0c;放置着一些方块。 给你一个二维整数数组 positions &#xff0c;其中 positions[i][lefti,sideLengthi]positions[i] [left_i, sideLength_i]positions[i][lefti​,sideLengthi​] 表示&#xff1a;第 i 个方块边长…

基于YOLOV5的手势识别系统源码及模型,训练得到能识别10种常用手势的模型

毕设系列-基于YOLOV5的手势识别系统 完整代码下载地址&#xff1a;基于YOLOV5的手势识别系统源码及模型 本期我们带来的内容是基于YOLOV5的手势识别系统&#xff0c;我们将会训练得到能识别10种常用手势的模型&#xff0c;废话不多说&#xff0c;还是先看效果。 配置环境 不熟…

ROS2 Launch文件编辑及运行

在第一版的 ROS 中launch 一般使用 xml 文件的格式进行编写和运行&#xff0c;但从 ROS2 中增添了 py 的 python 的可执行文件 作用 为了解决频繁的 ros2 run 命令&#xff0c;和多个节点之间的运行及关闭 特性 launch文件允许我们同时启动和配置多个包含 ROS 2 节点的可执行…