本文主要总结在C++中指针与引用的区别.

  从定义与性质来看指针与引用有如下区别:

  指针表示的是一块变量的地址

  引用表示一个变量的别名.

  因此指针变量需要占用空间(一个指针变量在32位系统下占用4字节,64位系统下占用8字节);

  理论上来说,引用不需要占用空间.(但引用的底层也是靠指针来实现的,不要问我怎么知道的,看反汇编咯!)

  从用法来看如下区别:

  1.引用在定义时必须初始化且初始化后不能改变指向;指针可以不用初始化,也可以改变指向.

  2.指针的++、--操作改变的是地址,而引用的++、--改变的就是变量本身.

  3.指针使用时需要解引用,引用不需要解引用.

  4.指针sizeof代表指针的大小,引用sizeof表示变量的大小.

  5.指针可以有多级指针,而引用不存在多重引用.

  6.引用可以不能为空,而指针可以指向NULL

转载于:https://www.cnblogs.com/qq329914874/p/6648193.html

【C++】指针与引用的区别相关推荐

  1. c++值传递,指针传递,引用传递以及指针与引用的区别

    值传递: 形参是实参的拷贝,改变形参的值并不会影响外部实参的值.从被调用函数的角度来说,值传递是单向的(实参->形参),参数的值只能传入, 不能传出.当函数内部需要修改参数,并且不希望这个改变影 ...

  2. 24.指针和引用的区别

    在面试时经常会被问到 指针和引用的区别,虽然问题很简单但还是总结一下! 指针和引用的区别其实有太多了,主要的区别大概是这样子: 1)指针声明的时候可以不被初始化(有可能成为野指针),但是引用必须要进行 ...

  3. 2020-12-6(从反汇编理解指针和引用的区别)

    这是我10个月前看到的一篇博客吧,感觉分析指针和引用的文章这是我目前见过讲解得最清晰的一篇: 本文主要基于反汇编代码,从初始化.赋值以及取地址三个角度来理解指针和引用的区别. 初始化 写出以下代码并查 ...

  4. C/C++ 中指针和引用的区别

    C/C++ 中指针和引用的区别 1.指针有自己的一块空间,而引用只是一个别名: 2.使用 sizeof 看一个指针的大小是 4,而引用则是被引用对象的大小: 3.指针可以被初始化为 NULL,而引用必 ...

  5. 【转】指针和引用的区别

    c++中的引用与指针的区别 ★ 相同点: 1. 都是地址的概念: 指针指向一块内存,它的内容是所指内存的地址:引用是某块内存的别名. ★ 区别: 1. 指针是一个实体,而引用仅是个别名: 2. 引用使 ...

  6. python指针引用的区别_C++基础:指针和引用的区别

    C++基础:指针和引用的区别 *例 int a; int &b = a; 其中b是a的引用,b引用了a,a被b引用.b 相当于 a 的别名,对 b 的任何操作就是对a的操作.所以b既不是a的拷 ...

  7. C++中指针与引用的区别

    指针的本质 指针p也是对象,只不过p存储的数据类型是它所指的对象的地址.可以通过解引用操作符""来访问对象的值,即p. 对象有常量(const)和非常量之分,如果指针本身是常量,即 ...

  8. C++指针和引用的区别

    从概念上讲.指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变. 而引用是一个别名,它在逻辑上不是独立的,它的存在具有 ...

  9. C++中指针和引用的区别与联系

    原文地址:http://blog.csdn.net/thisispan/article/details/7456169 ★ 相同点: 1. 都是地址的概念: 指针指向一块内存,它的内容是所指内存的地址 ...

  10. 面试中常被问到(四)C/C++中数组,指针和引用的区别

    C/C++中数组,指针和引用的区别 数组和指针: 数组 指针 保存数据 保存数据地址 可直接访问元素的值 间接访问(首先获取指针内容作为地址,通过寻址找到元素的值) 一般大小固定,数据类型相同 一般用 ...

最新文章

  1. ubuntu中wifi显示被硬件禁用的解决方法
  2. MATLAB应用实战系列(五十三)-模拟退火算法(附源码)
  3. java scala 混合编程_java与scala混合编程打包(maven构建)
  4. 在Lucene.net实现自定义排序
  5. 事务隔离级别,看这一篇就够了
  6. 大华供应链管理平台_files_锦江全球采购平台SRM系统2.0版本上线 打造更智能的供应链...
  7. Elastic Stack 安装
  8. java开源笔记软件下载_开发常用软件笔记 - ZhaoQian's Blog - OSCHINA - 中文开源技术交流社区...
  9. Python中中文字符也算单个字符
  10. 20190825:(leetcode习题)最长公共前缀
  11. Linux平台 Oracle 11gR2 RAC安装Part1:准备工作
  12. 在不同场景里,用户使用手机时的认知水平和操作绩效
  13. 计算机参数配置解读,教你看懂电脑配置参数,了解组装电脑基本知识
  14. 158玩游戏平台最新上线
  15. Centos7.X修改hostname立刻生效-修改/etc/hostname后立刻生效-Centos7.x修改hostname永久生效
  16. 01-计算机系统概述
  17. 游戏陪玩app开发,高并发系统如何设计?
  18. 数据仓库的四个层次设计
  19. 计算二维空间某点的最近k 个点
  20. LeetCode-70. 爬楼梯(java)

热门文章

  1. Python进阶(九)常用高级函数Counter、defaultdict、nametuple、map、reduce、filter、groupby
  2. 强化学习中值迭代收敛性推理证明
  3. 深度强化学习中实验环境-开源平台框架汇总
  4. 编程题常见输入格式处理方法
  5. 第十七天 PYTHON学习
  6. python序列化-复习
  7. Ubuntu设置终端相对短路径
  8. 【转】郭敬明作品中100句经典的话
  9. 给你自己的博客加个 Markdown
  10. Git服务器-Gogs搭建