当前位置: 首页 > 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;
}
http://www.lryc.cn/news/574522.html

相关文章:

  • 项目练习:使用itextpdf制作pdf报表
  • 电商场景BI解决方案:用观远BI捕获电商大促增长先机
  • (3)ROS2:6-dof前馈+PD / 阻抗控制器
  • 常见网络知识,宽带、路由器
  • UAVAI-YOLO:无人机航拍图像的小目标检测模型
  • NLP基础1_word-embedding
  • 桥头守望者
  • iostat中的util原理
  • OpenCV CUDA模块设备层-----检查 CUDA 错误并输出调试信息内联函数checkCudaError()
  • 【STM32】JTAG / SWD 调试原理简析
  • IN子查询与JOIN的区别理解
  • 数据赋能(319)——安全与合规——数据安全可控
  • 烟花爆竹生产企业库房存储安全风险预警系统
  • 前端如何让用户回到上次阅读的位置?
  • 医学数据分析实战:冠心病发病因素可视化
  • vue3+echarts实现tab切换多个图表
  • 微信小程序节点相关总结
  • 服务器常见问题以及解决方案
  • 学习threejs,使用kokomi、gsap实现图片环效果
  • 【AI落地应用实战】Chaterm:重新定义终端操作的AI智能工具
  • mapbox基础,导出地图
  • 打表法从原理到实战详解
  • RabbitMQ + JMeter 深度集成指南:中间件性能优化全流程解析!
  • uniapp/Vue/微信小程序瀑布流,小红书瀑布流,豆瓣瀑布流,淘宝瀑布流布局
  • 微信小程序如何实现通过邮箱验证修改密码功能
  • ORACLE表空间扩容
  • jmeter接口测试
  • Github 2025-06-24Python开源项目日报 Top10
  • PyTorch topk() 用法详解:取最大值
  • Gym安装