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

指针 引用区别

指针 & 引用区别

1. 初始化要求不同

  • 指针:可以不初始化,可以先定义后赋值
  • 引用必须初始化,定义时就绑定一个变量

2. 是否可以为空

  • 指针:可以为nullptr(空指针)
  • 引用:不能为空,一定指向有效对象

3. 是否可以改变指向

  • 指针:可以改变指向,先后指向不同变量
  • 引用:一旦绑定,终身不变,只能修改绑定变量的值

4. 多级支持

  • 指针:支持多级指针int** p
  • 引用:不支持多级引用

5. 底层本质

  • 引用本质是指针常量,编译器层面实现
  • 指针是独立变量,占用内存(64位8字节)
  • 引用不额外占用内存,和原变量同地址

6. 使用解引用

  • 指针使用要解引用*p
  • 引用直接使用,不用解引用

7. 函数传参区别

  • 指针传参:可传空,可读性稍差
  • 引用传参:一定有效,代码更简洁安全

面试口述

  1. 引用必须初始化,指针可以不初始化;
  2. 引用不能为空,指针可以为空;
  3. 引用不能改变绑定对象,指针可以改变指向;
  4. 引用底层是指针常量,指针是独立变量;
  5. C++ 优先用引用,安全性更高。
http://www.jsqmd.com/news/806375/

相关文章:

  • ARM AMU与PMU架构详解及性能监控实践
  • 3步掌握透明悬浮浏览器:终极多任务效率提升指南
  • OpenClaw/GenPark可视化设计器:图形化构建自动化流程
  • AI辅助开发在嵌入式软件工程(机器人方向)中的应用:技术深度解析与实践指南
  • 从零搭建AI虚拟主播:基于Zerolan Live Robot的完整实践指南
  • Codex Skill 执行机制:从加载、选择到按需读取
  • Source Insight 正常识别解析复杂类型宏定义
  • 大模型AI学习资料免费分享,抓住程序员高薪风口,速收藏!
  • MSP 盈利、留客、提口碑,核心就盯这12个 KPI
  • AI赋能的嵌入式机器人软件开发:新时代高级工程师的核心能力与实践
  • 低成本推客系统开发|花小钱做大销量,中小商家首选拓客方案
  • 从Docker镜像到开源项目:深度解析社区镜像的安全使用与生产实践
  • Clutch:专为Claude Code设计的并行终端,提升AI编程效率
  • 基于MCP协议构建AI助手业务工具适配器:从原理到实践
  • AI驱动的代码审查实战:利用Cursor与GPT提升代码质量与安全
  • EdgeRemover终极指南:2025年最简单安全的微软Edge浏览器卸载方案
  • OpenManus-RL:基于强化学习优化大语言模型智能体决策的完整框架
  • 避开J1939协议解析的坑:从‘查不到PGN’到正确计算CAN ID与参数组
  • 怎么在 Shell 脚本中获取当前脚本所在绝对路径?
  • SpaceXAI组建进行时,马斯克已提交商标注册申请
  • 开源AI智能体可视化控制台:架构、部署与性能优化指南
  • 5 款实用漏洞扫描工具,网安从业者必备收藏
  • Epsilla向量数据库:并行图遍历算法与生产级RAG应用实战
  • ARM PMU寄存器解析:PMVIDSR与PMZR_EL0实战应用
  • 容器镜像安全剖析:从元数据探查到自定义构建的完整指南
  • 2026年知名的除铁器机械/输送机械生产厂家推荐 - 品牌宣传支持者
  • AI编程助手集成DRPC技能包:无缝查询区块链数据的实践指南
  • 别再只会调用delay了!深入STM32 Systick定时器,从寄存器配置到实现精准us/ms延时的底层原理
  • 为什么93%的DeepSeek PR被拒?揭秘CI流水线自动拦截的4类“伪Clean”代码陷阱
  • 量子-经典混合算法优化多体动力学模拟