指针的本质

指针p也是对象,只不过p存储的数据类型是它所指的对象的地址。可以通过解引用操作符“”来访问对象的值,即p。

对象有常量(const)和非常量之分,如果指针本身是常量,即指针常量,指这个指针所存储的地址是不可以改变的。而指向常量的指针的意思是,不能通过该指针来改变这个指针所指的对象。

引用的本质

引用的底层是一个指针常量,是指针操作的语法糖,加入了一些特性,方便了程序员。

引用和指针,在内存中都是占用4个字节(32bits系统)的存储空间。

指针与引用的区别

 指针可以是NULL,而引用不行,引用必须有一个其所指的对象引用不可以将其重新指向另一个对象引用的创建、销毁不会调用类的拷贝构造函数和析构函数由于引用永不为空,所以不需要判断其是否为空,而指针需要sizeof引用得到的是所指对象的大小,而sizeof指针得到的是指针的大小有指针数组,没有引用数组引用和指针的自增自减操作意义不同,引用自增自减被引用对象的值,指针自增自减内存地址

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

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

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

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

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

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

    指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法. 1.指针和引用的定义和性质区别: '*'表示这是一个指针变量,指针名为定义的指针变量名, ...

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 二叉树的层次遍历 II
  2. 大中型企业的天网:Apache Geode
  3. JVM的堆、栈、方法区
  4. C#:导入Excel通用类(CSV格式)
  5. 如何修改Fiori Launchpad里Tile计数调用的时间间隔
  6. ip_forward
  7. 【转载】使用tf.py_func函数增加Tensorflow程序的灵活性
  8. 如何通过“随航”将iPad用作苹果Mac的第二个显示屏?
  9. java关于排版的说法正确是_Java代码规范--排版,命名---以及一个例子
  10. Vivado封装自定义IP
  11. 论文笔记——ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks
  12. 家庭版Windows10/Windows11不支持远程桌面
  13. Help Hanzo(区间素数筛)
  14. 有鱼上钩!修改游戏数据前的准备
  15. 大学计算机李凤霞课本百度云,大学计算机
  16. linux java 缓存服务器,linux服务器缓存环境memcached筹建及应用(java)
  17. 螺杆支撑座如何避雷要害
  18. 资本的游戏-笔记(一)
  19. STM32芯片烧录后上电不运行
  20. 北斗ATGM332D定位 gps驱动

热门文章

  1. 在python中可以使用for作为变量名对吗_python能用一个变量的值作为另一个变量的变量名吗?...
  2. 如何实现多路海康大华等RTSP数据转RTMP推送
  3. 计算机系统存储器分类和总线分类
  4. Java数据库篇2——数据库基本操作
  5. 一体化住户调查_曲麻莱县2020年城乡一体化住户调查表彰会暨年报部署会
  6. java 矩阵转置_图解利用Java实现数组转置
  7. python爬虫入门实战---------一周天气预报爬取_Python爬虫入门实战--------一周天气预报爬取【转载】【没有分析...
  8. php oci8 11,linux下为php开启oci8扩展(ubuntu14亲测可用)
  9. android 九宫格封装,Android 九宫格布局
  10. python while语法结构_python语法之流程控制(if while for)