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

从0到1学习c++ 命名空间

也是好久没写博客了,主播这半年一直在忙别的领域,在磁力驱动领域干了一年,最好发现自己对这个领域并不是很感兴趣,做这个领域多半都是为了发文章,现在闲下来了,主播终于也是过上好日子了,主播又可以继续从事嵌入式行业了,嵌入式赢!!!

好了废话不多说,这几天在学习c++,想着顺便写一篇博客,记录一下自己学c++的过程

1.命名空间

在初学c++的时候听到命名空间这个概念,感觉还是挺高级的,但是深入去学发现其实跟c语言没啥区别,我对命名区间的理解很简单(虽然不一定正确),就是在我们日常写c语言中我们会遇见一个问题就是我们会对某一个变量重复命名导致在调用的时候出现问题,那么解决问题也很简单,就是把实现具体功能的变量封装在其指定的文件夹中并用static进行定义防止在其他文件夹中变量被更改,但是在c++中给出的解决办法就是单独给一些变量和函数开辟一片空间,你想要调用这个变量或者是这个函数 你就必须调用这个命名空间,这样就可以防止被重复调用的问题,具体我们看代码就行了

下面就是一个简单的命名空间

namespace MyNamespace {int value = 42;          // 变量void print() { /*...*/ } // 函数class MyClass { /*...*/ }; // 类
}

如下就是我们对命名空间的使用

// 方式1:作用域解析运算符 ::
MyNamespace::value = 100;
MyNamespace::print();// 方式2:using 声明(引入特定成员)
using MyNamespace::print;
print(); // 可直接调用// 方式3:using 指令(引入整个命名空间 - 慎用!)
using namespace MyNamespace;
value = 200; // 直接访问

 再举一个具体点的列子就是,要看清楚每一个代码再那个文件夹中

.h文件
namespace cir {
double PI=3.1415926;获取周长的函数
Double Getlenth (Double R)
{
return 2*PI*r
}Double GetaifiCircle( Double R)
{
return PI*r*r;
}}   
.c文件中
//不使用引用 想要调用需加::
#include "cir.h"
#include <stdio.h>
using namespace std
int main()
{double myr=5;
printf("lenth:%lf,are:%lf\n",cir::getlenth(myr),cir::getaificircle(myr));
return 0;
}//如果使用引用,也就是用using namespace cir
#include "cir.h"
#include <stdio.h>
using namespace std
using namespace cir
int main()
{double myr=5;
printf("lenth:%lf,are:%lf\n",getlenth(myr),getaificircle(myr));
return 0;
}

http://www.xdnf.cn/news/16172.html

相关文章:

  • Hive常用函数
  • GitHub Actions打包容器,推送 AWS ECR 并使 EKS 自动拉取以完成发版部署
  • [ComfyUI] --ComfyUI 是什么?比 Stable Diffusion WebUI 强在哪?
  • Linux Wlan 无线网络驱动开发-scan协议全流程详解
  • QT开发---字符编码与QString和QByteArray
  • 深度分析Java内存回收机制
  • 基于深度学习的图像分类:使用EfficientNet实现高效分类
  • RocketMQ搭建及测试(Windows环境)
  • 大模型处理私有数据的核心技术
  • 【News】同为科技亮相首届气象经济博览会
  • Django Models详解:数据库模型的核心
  • 第二十七章 W55MH32 Interrupt示例
  • go语言基础教程:【1】基础语法:变量
  • 爬虫基础概念
  • 数学基础弱能学好大数据技术吗?
  • Kubernetes 集群架构和Pod创建流程
  • tcp基础协议
  • 字节的机器人模型 GR-3
  • 高可用架构模式——如何应对接口级的故障
  • uni-app支付宝小程序样式穿透失效
  • C51:用DS18B20传感器读取温度
  • 如何将拥有的域名自定义链接到我的世界服务器(Minecraft服务器)
  • 【Rust线程】Rust高并发编程之线程原理解析与应用实战
  • 【unity游戏开发入门到精通——组件篇】unity的粒子系统力场 (Particle System Force Field)实现如旋风、吸引力、风吹效果等
  • 数据库垂直拆分和水平拆分
  • 【​I2S:芯片设计中的“音频桥梁”​】
  • Android Service 全解析:从基础原理到实战优化
  • Windows11 本地安装docker Desktop 部署dify 拉取镜像报错
  • 【DataWhale】快乐学习大模型 | 202507,Task06笔记
  • 游戏装备被盗,运营商赔不赔