当前位置: 首页 > news >正文

《C++》命名空间简述

文章目录

  • 一、命名空间定义
  • 二、访问命名空间内的成员
  • 三、标准命名空间:std
  • 四、嵌套命名空间

一、命名空间定义

在C++中,命名空间(namespace)是一种将标识符分组的机制,用于避免重命名。例如:

int a = 3;int main()
{int a = 0;printf("%d",a);//这里是0呢,还是3呢?答案是0.//因为:局部变量>全局变量.那我们想调用3如何进行呢,这时候就引入了namespace.return 0;
}
当我们想不删除局部变量的时候引用3的时,就需要命名空间。
namespace Maysheeo
{int a = 3;
}

二、访问命名空间内的成员

当我们想要命名空间的成员时,则:

(命名空间名字):: (命名空间成员)
**常用于单个使用**using namespace (命名空间名字)
**常用于直接展开变量,便于全局直接使用**using (命名空间名字)::(命名空间成员)
**常用于部分展开**

如上文:

int main()
{printf("%d",Maysheeo::a);return 0;
}

三、标准命名空间:std

在C++标准库中所有组件(如cout,cin)都在std命名空间中,因此我们常用:

#include<iostream>//头文件
using namespace std;
int main()
{cout<<"hello,world"<<endl;//这里就相当于printf("hello world\n");//endl这个关键词就是std里面的,类似于"\n"//cout和cin的好处就是它会自动识别类型,如:char x = 'a';cout<<x<<endl;return 0;}

四、嵌套命名空间

命名空间是可以嵌套的,调用的时候则:

(命名空间名字1)::(嵌套的命名空间名字)::(成员名字)

例如:

#include<iostream>
using std::cout;
using std::endl;
namespace Maysheeo
{namespace maysheeo{int a = 3;}
}int main()
{cout << Maysheeo::maysheeo::a << endl;return 0;
}

相关文章:

  • 编程软件手机自动seo系统
  • 南昌手机网站制作百度公司网站推广怎么做
  • 一个公司做100个网站宣传广告怎么做吸引人
  • j为什么不用java做网站百度网盘服务电话6988
  • ppt中超链接网站怎么做怎么申请自己的网络平台
  • 莱芜网站建设公司平台推广精准客源
  • 云电脑,“死”于AI时代前夕 | 数智化观察
  • JVM(12)——详解G1垃圾回收器
  • AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年6月24日第118弹
  • Python移除链表元素-虚拟节点
  • 植物小知识
  • [密码学实战]商密TLCP协议抓包解析与深度分析(二十九)
  • 云原生周刊:Argo CD v3.1 正式发布
  • git学习资源
  • 大模型时代的创业机遇
  • Linux 网络命名空间的奥秘:深入解析struct net与内核模块编译陷阱
  • Redis 分布式锁原理与实战-学习篇
  • DeepSeek智能总结 | 邓紫棋音乐版权纠纷核心梳理
  • Vue3+Spring boot 前后端防抖增强方案
  • 3.0 compose学习:MVVM框架+Hilt注解调用登录接口
  • 领域驱动设计(DDD)【9】之代码初始部分实现和问题解决
  • 仓颉语言语法特点、使用范围、编译及环境搭建:从零开始第一个cangjie程序
  • 变电站自动化系统有哪些设备?
  • 如何通过FEMFAT许可证进行数据分析和处理
  • lz4库使用
  • 洛谷P1092 [NOIP 2004 提高组] 虫食算