0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C++:指针和引用的区别与联系

如意 来源:CSDN 作者:cherrydreamsover 2020-06-29 15:05 次阅读

一、概念

指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元。

引用:引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。

举个例子:

C++:指针和引用的区别与联系

引用的特性:

(1)引用在定义时必须初始化;

(2)一个变量可以有多个引用;

(3)引用一旦绑定了一个实体,就不能再改变为其它变量的引用。

二、引用和指针的区别与联系

1.相同点

C++:指针和引用的区别与联系

2.不同点

(1)引用定义时必须初始化,指针可以不用初始化;

(2)引用一旦初始化为指向一个对象,就不能再指向其他对象,而指针可以在任何时候指向任何一个同类型的对象;

(3)没有空引用,但是有空指针;

(4)在sizeof中的含义不同:引用结果为引用类型的大小,但指针始终是地址空间所占字节的个数(在32为平台下,指针求sizeof永远是4);

(5)引用++改变的是变量的内容,指针++改变的是指针的指向;

(6)有多级指针,但没有多级引用;

(7)引用使用起来比指针更安全;

(8)如果返回动态内存分配的对象或者内存,必须使用指针,引用可能引起内存泄漏;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 指针
    +关注

    关注

    1

    文章

    473

    浏览量

    70361
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72900
  • 引用
    +关注

    关注

    0

    文章

    8

    浏览量

    7689
收藏 人收藏

    评论

    相关推荐

    C语言指针引用的不同之处及使用场合

    指针引用的不同之处是什么?
    发表于 06-14 09:14 180次阅读
    C语言<b class='flag-5'>指针</b>和<b class='flag-5'>引用</b>的不同之处及使用场合

    JAVA和C++区别

    c++的相似之处多于不同之处,但两种语言问几处主要的不同使得Java更容易学习,并且编程环境更为简单。 我在这里不能完全列出不同之处,仅列出比较显著的区别: 1.指针 JAVA语言让编程者无法找到
    发表于 04-11 15:19

    JAVA和C++区别

    c++的相似之处多于不同之处,但两种语言问几处主要的不同使得Java更容易学习,并且编程环境更为简单。 我在这里不能完全列出不同之处,仅列出比较显著的区别: 1.指针 JAVA语言让编程者无法找到
    发表于 10-10 14:50

    Java和C++区别

    c++的相似之处多于不同之处,但两种语言问几处主要的不同使得Java更容易学习,并且编程环境更为简单。 我在这里不能完全列出不同之处,仅列出比较显著的区别: 1.指针 JAVA语言让编程者无法找到
    发表于 09-13 16:02

    一文知道PHP`引用`和C语言`指针`的区别

    PHP`引用`和C语言`指针`的区别是什么
    发表于 10-27 08:27

    指针数组和数组指针有什么区别联系

    什么是指针数组和数组指针指针数组和数组指针到底是什么?指针数组和数组指针有什么
    发表于 12-24 06:55

    c引用指针区别

    指针引用的定义 在深入介绍之前我们首先来看一下指针引用的定义、指针引用
    发表于 09-27 15:19 1次下载
    c<b class='flag-5'>引用</b>和<b class='flag-5'>指针</b>的<b class='flag-5'>区别</b>

    C++指针引用区别

    指针指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。上面定义了一个整形变量和一个指针变量p
    发表于 11-29 17:24 2258次阅读

    C++:常引用的概念和作用

    int &a=b 相当于 int const a=b。即引用是一个指针常量(又称常指针,即一个常量,其类型是指针)。 每当编译器遇到引用变量
    的头像 发表于 06-29 15:08 1.2w次阅读
    <b class='flag-5'>C++</b>:常<b class='flag-5'>引用</b>的概念和作用

    详谈数组和指针区别联系

    详谈数组和指针区别联系
    的头像 发表于 06-29 15:18 2.2w次阅读
    详谈数组和<b class='flag-5'>指针</b>的<b class='flag-5'>区别</b>与<b class='flag-5'>联系</b>

    C++引用的使用场景

    C++引用的使用场景
    的头像 发表于 06-29 15:18 3831次阅读
    <b class='flag-5'>C++</b>:<b class='flag-5'>引用</b>的使用场景

    C++中的const和引用的讨论

    今天给大家分享一下这段时间学习c++的总结学习:c++里面的const关键字和引用
    的头像 发表于 12-24 15:35 630次阅读

    C++中const以及this指针的使用

    const 作用 修饰变量,说明该变量不可以被改变; 修饰指针,分为指向常量的指针(pointer to const)和自身是常量的指针(常量指针,const pointer); 修饰
    的头像 发表于 09-23 11:39 1750次阅读

    指针引用区别及使用场景介绍

    指针在声明时可以暂时不初始化,即pointer = nullptr,指针在生命周期内随时都可能是空指针,所以在每次使用时都要做检查,防止出现空指针异常问题,而
    的头像 发表于 03-11 10:24 1588次阅读

    C++引用指针

    之前的文章我们已经介绍了C++中的基本类型如int,bool和double等,除了基本类型C++还有一些更复杂的数据类型复合类型,所谓的复合类型就是通过其他类型定义的类型,本篇文章我们将会着重介绍C++的复合类型
    的头像 发表于 03-17 14:00 427次阅读