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

引用和指针的区别

作者: NullUser | 来源:发表于2021-02-05 16:24 被阅读0次

引用可以看做是被引用对象的一个别名,在声明引用时,必须同时对其进行初始化。而且不允许再修改成引用其它变量。

指针用于指向变量的地址,可以指向空地址(NULL),且可以再重新指向其它变量的地址。

假设我们把变量都看作是由两部分组成,一个是它的地址,一个是它的值。
我们写个demo看一下原变量的地址和值是多少,再看看引用变量和指针变量的地址和值分别是多少。

int num = 10;
int &a = num;
int *p = #
std::cout<<"num:"<<std::endl
            <<"\t"<<"address:"<<&num<<",value:"<<num<<std::endl;
std::cout<<"a:"<<std::endl
            <<"\t"<<"address:"<<&a<<",value:"<<a<<std::endl;
std::cout<<"p:"<<std::endl
            <<"\t"<<"address"<<&p<<",value:"<<p<<std::endl;

编译,运行,输出结果如下

nulluser:~$ g++ main.cpp -o exe
nulluser:~$ ./exe
num:
    address:0x7ffd357f6454,value:10
a:
    address:0x7ffd357f6454,value:10
p:
    address:0x7ffd357f6458,value:0x7ffd357f6454

由输出可见,num变量的地址是:0x7ffd357f6454,值是:10。
引用a和num变量的地址和值都相同,这就更能理解引用是被引用对象的一个别名,它的组成和原变量是相同的。
而指针变量p是其值等于原变量的地址,也就是p指向了num的地址,指针用于指向变量的地址。

相关文章

  • C++基础

    C++ 值传递、指针传递、引用传递详解C++中引用传递与指针传递区别 引用传递和指针传递的区别 引用的规则:(1)...

  • Java.2018-08-01

    Java简介 Java语言不使用指针,而是引用指针和引用区别1指针和引用区别2 只支持类之间的单继承,但支持接口之...

  • 面试系列之指针和引用的使用场景

    先抛出两个问题: 指针和引用有什么区别? 什么时候应该使用指针?什么时候应该使用引用? 指针和引用的区别 首先看一...

  • C++基本问题——指针与引用的区别

    指针与引用的区别 指针可以是空指针,但是引用不能是空引用。这就导致下面一个区别。 指针可能是非法的,引用总是合法的...

  • 【学习笔记】指针

    1. 概述 2. 指针和引用的区别 通过下面一段代码可以清楚看出指针和引用的区别: Result:&num: 0x...

  • 引用和指针的区别

  • 指针和引用的区别

    指针和引用在C++中很常用,但是对于它们之间的区别很多人都不是太熟悉,下面来解释下他们2者之间的区别和用法。 1....

  • 指针和引用的区别

    转自 :c++中,引用和指针的区别 自己小结: (1)非空区别 (2)合法性区别 (3)可修改区别 (4)应用区别

  • 指针和引用的区别

    参照lyd_253261362的专栏的文章详细介绍=====c++中的引用与指针的区别 c++中的引用与指针的区别...

  • 指针和引用的区别

    相同点: 都是地址的概念; 指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。 区别: 指针是一个...

网友评论

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

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