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

指针与引用的区别

作者: anycedo | 来源:发表于2019-08-23 21:24 被阅读0次

一、啥针啊引的,穿针引线呗?

    引用,简单来说就是为对象起了一个别名,可以用别名来等同于操作对象。

int i =1;
int &r = i; //r指向i(r是i的别名,可以通过操作r来改变i的值)、
r=2;
cout<<r<<" "<<i<<" "<<endl; //r和i的值都为2

    通俗的讲,为引用赋值,实际上就是将值赋给了与引用绑定的对象。获取引用的值,实际上就是获取了与引用绑定的对象的值。但是引用本身不是一个对象,所以不能定义引用的引用。
    另外引用必须要被初始化,一旦初始化完成,引用将和它的初始值对象一直绑定在一起,因为无法令引用重新绑定到另外一个对象,因此引用必须初始化。
    引用的还有一个比较重要的点就是引用的类型与之要绑定的对象严格匹配。

int &r; //错误,引用必须被初始化
int &r=10; //错误,引用类型的初始值必须是一个对象
int i=10,&r=i; //正确,r是一个引用,与i绑定在了一起,i是一个int
int j=0;
int& r=j,p=j; //正确,r是一个引用,与j绑定,p是一个int

//不同类型无法绑定,类型要严格匹配
int i=0;
double &r=i; //错误,引用类型为double,对象类型为int

    指针与引用类似,也实现了对其他对象的间接访问。但是,与引用对比,又有很多不同点,其一,指针本身就是一个对象,允许对指针赋值和拷贝,而且还可以先后指向不同的对象(引用一旦绑定就不能修改了);其二,指针无需再定义的时候赋初值。

参考资料
指针、引用、const

相关文章

  • C++基础

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

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

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

  • 指针和引用的区别

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

  • 指针与引用区别

    引用与指针的区别 (1)引用是给另外一个变量取别名,所以不会分配内存空间。 指针是一个实体,需要分配内存空间。 (...

  • 软件测试经典面试题(3)

    引用与指针有什么区别? 1) 引用必须被初始化,指针不必。 2) 引用初始化以后不能被改变,指针可以改变所指的对象...

  • 引用与指针的区别

    引用:定义的变量的别名,主要用途是用作函数的形参。 int &rodents = rats; 相当于 int * ...

  • 指针与引用的区别

    一、啥针啊引的,穿针引线呗?     引用,简单来说就是为对象起了一个别名,可以用别名来等同于操作对象。     ...

  • C++ 知识快速回顾

    一. 引用 1. 引用与指针的区别 声明引用时必须初始化,指针可以后续赋值 对引用取地址就是对目标向量取地址 引用...

  • 句柄与指针

    句柄与指针 句柄与普通指针的区别在于,指针包含的是引用对象的内存地址,而句柄则是由系统所管理的引用标识,该标识可以...

  • 指针和引用的辨析

    先来看两个图 指针与引用的区别 1.指针在C和C++中均有,而引用是C++独有的特性(*指针申明符号,&引用申明符...

网友评论

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

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