名字空间(namespace)
最初C标准中并没有名字空间要求程序中全局作用域中声明的变量、函数、类型等必须具有唯一的名字如果在同一个程序中有两个名字相同的全局变量将产生命名冲突和C语言一样如果程序中引入第三方库就必须保证程序中定义的全局名都不能与所用库中的名字相同否则就会产生冲突这就是所谓的全局名字空间污染问题该问题在大型程序中处理起来非常困难。为此引入了名字空间。在一个名字空间中可以定义许多不同对象并将这些对象的有效范围局限在名字空间内。不同名字空间中可以定义相同名称的对象只要两个同名对象不在同一名字空间中就不会引起冲突名字空间的定义语法格式namespacexxx_name{members;}举例namespaceABC{intnum;structstu{intage;char*name;};doubleadd(inta,intb){return(double)ab;}intMin(inta,intb){returnab?a:b;}}如果使用cout或cin必须有using namespace std;名字空间成员的访问名字空间成员的访问有主要有三种方法通过作用域限定符(::)#includeiostreamusingnamespacestd;namespacens1{voidfunc(void){coutns1 funcendl;}}namespacens2{voidfunc(void){coutns2 funcendl;}}intmain(void){ns2::func();ns1::func();return0;}using引用名字空间单个成员#includeiostreamusingnamespacestd;namespacens1{voidfunc(void){coutns1 funcendl;}}namespacens2{voidfunc(void){coutns2 funcendl;}}intmain(void){usingns1::func;ns2::func();//ns1::func();func();return0;}using引用名字空间全部成员#includeiostreamusingnamespacestd;namespacens1{voidfunc(void){coutns1 funcendl;}inta100;}namespacens2{inta200;voidfunc(void){coutns2 funcendl;}}intmain(void){usingnamespacens1;ns2::func();//ns1::func();func();coutaendl;return0;}无名名字空间未命名的名字空间称作无名名字空间#includeiostream//using namespace std;namespacens1{voidfunc(void){std::coutns1 funcstd::endl;}inta100;}namespacens2{inta200;voidfunc(void){std::coutns2 funcstd::endl;}}namespace{//无名名字空间inta300;}intmain(void){//using namespace ns1;ns2::func();ns1::func();std::coutns1::astd::endl;std::cout::astd::endl;//无名名字空间成员的引用return0;}名字空间嵌套指定义在其他名字空中的名字空间#includeiostreamusingnamespacestd;namespacens1{voidfunc(void){std::coutns1 funcstd::endl;}inta100;namespacens2{intb111;}}intmain(void){coutns1::ns2::bendl;return0;}

相关新闻

消息队列与发布订阅区别,如何选择topic和queue

消息队列与发布订阅区别,如何选择topic和queue

在现代软件系统中,topic和queue是实现异步通信和解耦服务组件的基础模型。理解它们的核心区别与适用场景,是构建高效、可靠系统架构的关键。本文将从实际应用出发,剖析两者的工作机制与选择策略。 消息队列与发布订阅的本质区别 消息队列&…

2026/7/6 22:23:37 阅读更多 →
AI教材生成超厉害!一键搞定创作,低查重通过审核没问题!

AI教材生成超厉害!一键搞定创作,低查重通过审核没问题!

教材初稿终于完成,但接下来的修改和优化过程简直就是一种“煎熬”!要通读整本书寻找逻辑上的漏洞和知识点的错误,这可真需要花费不少时间;而调整一个章节的结构,往往会影响到后面好几个部分,修改的工作量几…

2026/7/3 14:54:13 阅读更多 →
低查重不是梦!AI教材生成工具为你打造高质量专业教材!

低查重不是梦!AI教材生成工具为你打造高质量专业教材!

在准备教材的过程中,选择合适的工具简直就是一场“烦恼大赛”!若使用办公软件,往往功能太过单一,框架的搭建和格式的调整都得靠手动去做;但要是选择专业的编写工具,又会发现操作复杂,学习成本过…

2026/7/3 14:54:16 阅读更多 →

最新新闻

开发环境准备

开发环境准备

配置深度学习环境 配置参考 vscode连接到conda环境 1.安装python插件 2.打开自己的.py文件 3.Ctrl Shift P 呼出命令面板,输入Python: Select Interpreter,选择自己的conda环境 4.执行测试 import torch import timeprint("" * 40) prin…

2026/7/7 1:45:57 阅读更多 →
当我想给小说配音时,我到底经历了什么

当我想给小说配音时,我到底经历了什么

事情的起因很简单 我写了一本小说,大概十几万字,想让它在喜马拉雅上「活」起来。不是那种机器念经式的AI朗读,而是真正的、有情绪起伏的、分角色的有声书——旁白沉稳克制,主角鲜活有记忆点,反派说话自带压迫感&#x…

2026/7/7 1:43:57 阅读更多 →
CUDA 12.x 环境诊断:3 种方法区分 Driver、Runtime 与 NVCC 版本差异

CUDA 12.x 环境诊断:3 种方法区分 Driver、Runtime 与 NVCC 版本差异

CUDA 12.x 环境诊断:3 种方法区分 Driver、Runtime 与 NVCC 版本差异当你在Windows上部署PyTorch或TensorFlow时,是否经常遇到"CUDA版本不匹配"的报错?这通常是因为开发者混淆了CUDA Driver、Runtime和NVCC这三个关键组件的版本。本…

2026/7/7 1:43:57 阅读更多 →
ROS2话题通信Python实现详解

ROS2话题通信Python实现详解

目录 一、引言 二、准备工作 2.1 安装ROS2 2.2 创建工作空间和功能包 三、简单文本话题通信 3.1 编写发布方代码(publisher.py) 3.2 编写订阅方代码(subscriber.py) 3.3 运行节点 四、自定义接口话题通信 4.1 定义自定义…

2026/7/7 1:39:56 阅读更多 →
FPG平台:从公开信息出发,梳理信息披露习惯与流程清晰度

FPG平台:从公开信息出发,梳理信息披露习惯与流程清晰度

在外汇行业语境里,表达越清晰、信息越透明,越容易建立稳定预期。在FPG平台的外汇服务中,从公开信息与使用体验出发,梳理其更值得肯定的能力点与细节表现。在外汇相关服务中,读者最在意的通常是信息是否清楚、提示是否到…

2026/7/7 1:35:55 阅读更多 →
第 二 章线性代数

第 二 章线性代数

文章目录2.1 标量与向量2.1.1 标量与向量的概念2.1.2 向量运算2.1.3 向量范数2.2 矩阵与张量2.2.1 矩阵的概念2.2.2 矩阵乘法2.2.3 矩阵转置2.2.4 矩阵的逆2.2.5 其他矩阵运算2.2.6 张量2.3 矩阵求导2.3.1 常用求导结果2.3.2 Jacobian矩阵与梯度矩阵2.3.3 一阶实矩阵微分&#…

2026/7/7 1:33:55 阅读更多 →

日新闻

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

鸿蒙新特性:图片画廊与轮播导航——构建沉浸式图片浏览体验

图片浏览是移动应用中最高频的场景之一。从社交应用的照片流到电商平台的商品图集,从旅游应用的景点相册到摄影作品展示——用户对图片浏览的体验要求不断提高:流畅的切换动画、直观的缩略图导航、便捷的收藏操作、自动播放模式。HarmonyOS NEXT ArkUI 虽…

2026/7/7 0:05:16 阅读更多 →
24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V DC-DC降压芯片PW2312B/PW2815,SOT23-6到SOP8-EP方案对比

24V稳压芯片完整选型指南 PW8600 PW75XX PW2815 PW2312B LDODC/DC全方案 一、24V稳压方案概述 24V直流电源在工业自动化、门禁系统、电梯控制、汽车电子、LED驱动、监控设备等场景中应用极广,是最常见的中压直流母线电压。要将24V母线稳定降压至下游MCU、传感器…

2026/7/7 0:05:16 阅读更多 →
RAG+知识图谱混合检索与Graph RAG核心对比

RAG+知识图谱混合检索与Graph RAG核心对比

做企业RAG落地的团队,往往容易卡在一容易踩坑的选型难题: 当需求单纯靠向量RAG搞不定、单纯靠知识图谱也搞不定,必须同时依赖「文本语义理解 实体关系推理」时,到底是做「向量图谱混合检索」就够了,还是必须上「Grap…

2026/7/7 0:07:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻