美文网首页
指针和引用的本质区别

指针和引用的本质区别

作者: Magic11 | 来源:发表于2019-12-09 16:03 被阅读0次

常量指针 const int *p 指的是指针p指向的对象不可改变
指针常量 int const *p指的是指针p的值不能改变
引用的底层实现是指针常量


image.png

引用的创建的时候必须初始化,而且需要初始化一个左值(即一个有名字,可取地址的对象)
若初始化的值为常量,则编译器会报错:非常量引用的初始值必须为左值


image.png

指针是有型别的,虽然指针变量的值是一个整数,但是不能将一个整形变量或者一个整形常量直接赋值给指针


image.png
但初始化为0和NULL(#define NULL 0)除外
image.png

void*不具有型别,虽然它能存放对象的地址,但是它不能进行解引用


image.png
image.png

相关资料:
https://www.zhihu.com/question/37608201
https://zhuanlan.zhihu.com/p/93653407

相关文章

  • 指针和引用的本质区别

    常量指针 const int *p 指的是指针p指向的对象不可改变指针常量 int const...

  • swift 结构体和类的区别

    结构体和类的本质区别(64bit下) 结构体是值类型(枚举也是值类型) 类是引用类型(指针类型) 类 结构体

  • 指针和引用

    指针和引用的区别: 主要是两点: 引用使用时必须非空即必须初始化为非空值,指针则初始化时可以为空; 引用初始化后不...

  • 指针和引用

    指针和引用 1. 引用和指针有什么区别? 引用是 C++ 中新增的变量类型,是对 C 的一个扩充。引用给变量起一个...

  • 引用和指针

    引用和指针 引用(左值引用) 引用为对象起了另外一个名字,引用必须初始化,引用会和被引用对象的值绑到一起(而不是拷...

  • 指针和引用

    本文来源于http://stackoverflow.com/questions/57483/what-are-th...

  • 指针和引用

    本质:引用是别名,指针是地址,具体的: 从现象上看,指针在运行时可改变其所指向的值 (所以要判断是否为空),而引用...

  • 指针和引用

    注:参考自bilibili系列视频,指针和引用视频https://www.bilibili.com/video/B...

  • 指针和引用

    为什么对象不相等? 在声明 obj1 = { name: 'haolucky' } 时,实际上是在堆内存中创建一个...

  • 指针和引用

    这里说一说指针和引用的区别。 是否可修改:指针可以更改指向的对象,而引用从一而终,不可修改。 合法性:指针使用前必...

网友评论

      本文标题:指针和引用的本质区别

      本文链接:https://www.haomeiwen.com/subject/gpobgctx.html