news 2026/4/30 14:09:30

【C++】基础

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【C++】基础

📌左移和右移

左移 << n → 等于 乘以 2 的 n 次方

右移 >> n → 等于 除以 2 的 n 次方(向下取整)

int i = 3; i <<= 1; //相当于 3*2的一次方 6 int a = 2; a >>=1; //相当与2 / 2的一次方 1

📌namespace的定义

定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中
即为命名空间的成员。命名空间中可以定义变量/函数/类型等
namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量
C++中域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找⼀个变量/函数/
类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。局部域和全局域除了会影响
编译查找逻辑,还会影响变量的⽣命周期,命名空间域和类域不影响变量⽣命周期
namespace只能定义在全局,当然他还可以嵌套定义

📌命名空间的使用方法

🎏命名冲突

在同一个范围里,出现两个一模一样的名字,编译器分不清你要用哪一个,直接报错,称为命名冲突。

//命名空间只能定义在全局 namespace ywx { int rand = 10; } int main() { printf("%p\n", rand); //全局的 printf("%d\n", ywx::rand); //ywx 类域的 return 0; }

🎏全局 / 局部变量 和 (作用域限定符)::

优先级:当全局变量和局部变量同名是,编译器优先调用局部变量

变量查找规则

  1. 先找局部域
  2. 再找全局域
  3. 想访问全局:::变量名

::= 域作用限定符

  1. 命名空间::成员
  2. ::全局变量
namespace ywx { int a = 429; } //全局变量 int a = 985; int main() { //局部变量 int a = 211; //当全局变量和局部变量同名是优先调用局部变量 cout << a << endl; // :: 是作用域限定符 cout << ::a << endl; //加上作用域限定符后,访问全局的a //访问类域中的变量 cout << ywx::a << endl; return 0; }

🎏命名可放的成员

  • 变量
  • 函数
  • 结构体 / 类
  • 类型别名
  • 其他命名空间
//命名空间中可以放函数 结构体 //命名空间的嵌套 namespace ywx { int add(int left, int right) { return left + right; } struct Node { int val; struct Node* next; }; int a = 10; namespace ywx_1 //命名空间的嵌套 { int a = 20; } } int main() { cout << ywx::add(1, 2) << endl; //调用命名空间里的函数 struct ywx::Node* p1; //定义命名空间里的结构体变量 cout << ywx::a << endl; //打印命名空间ywx里的变量a cout << ywx::ywx_1::a << endl; //打印命名空间ywx里命名空间ywx_1的变量a return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 14:01:47

思源宋体CN:7种字重开源字体全方位应用指南

思源宋体CN&#xff1a;7种字重开源字体全方位应用指南 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为中文排版设计寻找完美的字体解决方案吗&#xff1f;思源宋体CN这款由Adob…

作者头像 李华
网站建设 2026/4/30 14:01:20

手把手教你用MATLAB/Simulink搭建PMSM无感FOC仿真(滑模观测器SMO实战篇)

从零构建PMSM无感FOC仿真&#xff1a;滑模观测器在Simulink中的工程实现 当我在实验室第一次成功运行基于滑模观测器的PMSM无感FOC仿真时&#xff0c;那种从理论到实践的突破感至今难忘。对于电机控制工程师和研究者而言&#xff0c;MATLAB/Simulink仿真是验证算法有效性的关键…

作者头像 李华
网站建设 2026/4/30 14:00:39

3分钟掌握SRWE:Windows窗口尺寸自由调整的实用工具

3分钟掌握SRWE&#xff1a;Windows窗口尺寸自由调整的实用工具 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否曾想过像调整照片一样轻松调整任何Windows应用程序的窗口大小&#xff1f;SRWE&#xff08;…

作者头像 李华
网站建设 2026/4/30 13:53:48

保姆级教程:在Ubuntu 22.04上搞定Pypbc库(附BLS签名测试代码)

零失败指南&#xff1a;Ubuntu 22.04下Pypbc库的完整部署与BLS签名实战 在密码学开发领域&#xff0c;基于配对的加密方案正成为区块链和隐私计算的核心技术支柱。作为Python生态中最成熟的配对密码学库&#xff0c;Pypbc的安装过程却常常成为开发者的"拦路虎"——尤…

作者头像 李华