关于C++中引用和指针的区别详解

 更新时间:2023年07月15日 10:24:17   作者:Pin_na  
这篇文章主要介绍了关于C++中引用和指针的区别详解,

之前我们介绍了什么是引用,错过的小伙伴们可以参考这篇文章!

关于C++中引用的定义与使用详解

既然引用底层是用指针形式实现的,那么这篇文章就来为大家介绍一下引用和指针的区别:

int main()
{
    int a = 10;
    int& ra = a;
    ra = 20;
    int* pa = &a;
    *pa = 20;
    return 0;
}

相同点:

引用和指针在做参数及做返回值类型上几乎效率相同,但远远高于传值

不同点:

1. 引用在定义时必须初始化,指针没有要求

2. 引用只能初始化引用一个实体,而指针可以在任何时候指向任何一个同类型实体

3. 没有NULL引用,但有NULL指针

4. 在sizeof中含义不同:引用结果为引用类型的大小,指针始终是地址空间所占字节个数(32位:4字节 64位:8字节)

5. 引用自加即引用的实体增加1,指针自加即指针向后偏移一个类型的大小

6. 有多级指针,但是没有多级引用

7. 访问实体方式不同,指针需要显式解引用,引用编译器自己处理

8. 引用比指针使用起来简洁、安全

到此这篇关于关于C++中引用和指针的区别详解的文章就介绍到这了,更多相关C++中引用和指针内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言中自动隐式转换与类型强制转换实例分析

    C语言中自动隐式转换与类型强制转换实例分析

    这篇文章主要介绍了C语言中自动隐式转换与类型强制转换实例分析,需要的朋友可以参考下
    2014-07-07
  • C语言实现小型工资管理系统

    C语言实现小型工资管理系统

    这篇文章主要为大家详细介绍了C语言实现小型工资管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • C语言函数调用堆栈详情分析

    C语言函数调用堆栈详情分析

    这篇文章主要介绍了C语言函数调用堆栈详情分析,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • C语言之二叉树的遍历

    C语言之二叉树的遍历

    这篇文章主要介绍了C语言中二叉树的遍历:前序、中序、后序,认识二叉树结构最简单的方式就是遍历二叉树,感兴趣的小伙伴可以参考阅读本文
    2023-03-03
  • c++基础学习之如何区分引用和指针

    c++基础学习之如何区分引用和指针

    C语言中只有指针,C++加入了引用,能够起到跟指针类似的作用,下面这篇文章主要给大家介绍了关于c++基础学习之区分引用和指针的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • 基于memset()函数的深入理解

    基于memset()函数的深入理解

    本篇文章是对memset()函数又进行了深一步的了解,需要的朋友参考下
    2013-05-05
  • 详解dll动态库的开发与调用及文件的读写小程序

    详解dll动态库的开发与调用及文件的读写小程序

    这篇文章主要介绍了详解dll动态库的开发与调用及文件的读写小程序的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • Qt QFtp客户端实现上传下载文件

    Qt QFtp客户端实现上传下载文件

    本文主要介绍了Qt QFtp客户端实现上传下载文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • c++智能指针unique_ptr的使用

    c++智能指针unique_ptr的使用

    本文主要介绍了c++智能指针unique_ptr的使用,与shared_ptr作用类似,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 纯C语言:分治快速排序源码分享

    纯C语言:分治快速排序源码分享

    这篇文章主要介绍了分治快速排序源码,有需要的朋友可以参考一下
    2014-01-01

最新评论