恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

指针 vs 引用

  • 首页
  • 资讯中心
  • /
  • 指针 vs 引用

相关资讯

LLM智能体开发:如何用“少即是多”原则提升推理与代码生成效率 2026/8/25 16:55:09
基于项目反应理论的AI智能体能力评估:从心理测量学到工程实践 2026/8/25 16:55:09
架构问题思考和解决方案 2026/8/25 16:55:09

最新资讯

LeetCode Hot100高频面试题解析与实战技巧
PyTorch张量插值全解析:从原理到实战避坑指南
3步装好|REFramework 怪猎荒野不闪退实操|完整
RemotePlayWhatever 零门槛指南:非 Steam 游戏远程同乐 5 步上车
LX Music音源导入教程:4步快速配置,五平台FLAC无损音乐
Flint 内购集成完全指南:如何用 PurchaseTracker 跟踪购买状态并解锁高级功能

今日推荐

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南
洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表
Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

指针 vs 引用

发布时间:2026/8/25 16:55:09
指针 vs 引用 旨在理解指针和引用的区别Persona(张三);Person*pa;//指针Personra;//引用定义方式• 指针Person* pp 是独立变量存对象的地址p 自己有内存。• 引用Person r ar 仅仅是对象 a 的别名引用本身不占用独立内存编译器层面逻辑上没有独立实体。• 引用定义的时候必须初始化绑定对象不能先声明后赋值。Personr;//❌编译报错引用必须初始化Person*p;//✅指针可以先定义后面再赋值 pa能不能改变指向绑定目标• 指针可以p b;让指针指向另一个对象。• 引用一旦绑定永远不能换绑定对象。注意r b;不是改变引用绑定等价a b是赋值给原对象 a。Persona(a),b(b);Personra;rb;//❗不是r绑定b把b拷贝赋值给ar依旧是a的别名。是否可以为 NULL / 空• 指针Person* p nullptr; ✅允许可以是空。• 引用不允许为空引用一定绑定一个有效对象。• 工程上引用天然保证不为空指针要时刻判断nullptr。使用语法• 指针解引用p访问成员p-setName()• 引用直接像对象一样用r.setName()不需要、-const 修饰的行为重点const Person* p; //指针指向const对象指针可改指向Person* const p; //指针本身const不能改指向//引用没有“普通引用const”这种写法Person const r a; // ❌语法非法引用天生不能改绑定加const无意义。实测vs2015编译可以通过但是报warning C4227: 使用了记时错误: 忽略引用上的限定符好像标准c缺少不允许这么写。msvc微软编译器的兼容扩展跨平台不能这么写。本身没有意义。const Person r a; // ✅const引用被引用的对象只读sizeof 结果• sizeof§得到指针本身大小x64 为 8 字节。• sizeof®得到原对象 Person 的大小不是引用大小。引用逻辑上没有独立内存sizeof 看的是它绑定的实体。拷贝行为Person* p1 a;Person* p2 p1; //拷贝指针的值地址两个指针指向同一个aPerson r1 a;Person r2 r1; //r2也是a的别名没有拷贝对象没有构造没有拷贝构造没有拷贝赋值运算。函数参数场景对比//指针有可能传入nullptr函数内部要判空void funcPtr(Person* p) { if(nullptr p) return; p-print(); }//引用一定是有效对象不需要判空void funcRef(Person r) { r.print(); }对比项指针 Person* p引用 Person r初始化可以先定义后赋值定义时必须绑定对象能否为空nullptr 合法绝不允许为空能否改变指向目标✅pb可以修改指向❌绑定后永远不能更换目标语法访问对象*pp-xxx直接 r.xxxsizeof得到指针本身大小 (8 字节 x64)得到原始对象大小const 语法const Person* / Person* const两种只有const PersonPerson const非法内存指针变量自己占内存逻辑上只是别名无独立内存传参需要考虑判空一定有效无需判空

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号