美文网首页
2020-09-16 引用不能重新赋值

2020-09-16 引用不能重新赋值

作者: yuerxiaoshui | 来源:发表于2020-09-16 15:05 被阅读0次
int i = 1, j = 5;
int &k = i;
k = j;

引用的赋值:是指引用初始化时,它的引用对象只能是变量,并且,一旦它指定为某一个对象的引用后,就不能更改了。
但是,可以用这个引用来改变它的对象的值,从而达到引用的目的——作为变量对象的别名。
如上例,引用k初始化为i,即k从此以后一直是i的引用,若想让k不再是i的引用而成为别的变量的引用那是不可能的。

所以,接下来的一句“k=j;”就不能理解成:取消k是i的引用而将k作为j的引用。
正确的理解应该是:利用引用k来改变它所指对象i的值,即相当于语句“k=5;”。
若在上示例语句“k=j;”后加上一句“j=10”,结果将是:“i=5; j=10; k=5”,从这个结果就能很好理解了。

// 引用的重新赋值
int x, y, z;
int &x = y;
&x = z;

这种是对引用x,改变了它的指定对象,一开始是y的引用,之后,又重新说明是z的引用,这种引用的重新赋值是不允许的。

另外:常引用所引用的对象的值是不能更改的,即上述示例中若将语句“int& k=i;”更改为“const int& k=i;”,则在编译时就会出现错误了。

相关文章

  • 2020-09-16 引用不能重新赋值

    引用的赋值:是指引用初始化时,它的引用对象只能是变量,并且,一旦它指定为某一个对象的引用后,就不能更改了。但是,可...

  • c++基础

    1、引用和指针的区别:引用是变量的别名,内部实现是只读指针。引用在初始化的时候就地赋值,并且赋值之后不能改变,指针...

  • 基于引用计数的内存管理

    引用计数原则 对象的初始引用计数是1。 当引用被创建或者拷贝,引用计数加1。 当对象的引用被销毁或者重新赋值,对象...

  • String 一旦赋值就不能重新赋值

    String 一旦赋值就不能重新赋值,因为重新赋值会再开辟一个空间存放新的值。string 是fall修饰 Str...

  • 三 final finalize

    final不是immutable! final的变量只能约束其引用不可以被重新赋值, 但引用指向的对象不受影响2...

  • C语言数据结构-链表大解剖

    链表抽象结构解析 引用、解引用、指针、链表赋值取值 链表抽象结构解析 引用、解引用、指针、链表赋值取值

  • C++派生类的赋值重载

    赋值兼容——子类对象的引用和指针可以赋值给父类对象的引用和指针 构造器(包括拷贝构造器)和析构器是不能被继承的 t...

  • 无标题文章

    1.指针和引用 引用必须赋初始值,没有空的,而指针可以为空指针可以重新赋值,但引用总是指向最初的那个对象当知道需要...

  • java一快速入门

    变量 1.基本类型的 2引用类型 1.基本类型的 可以重新赋值,赋值给其他变量, 整数类型:byte(1) ,sh...

  • 菜鸟教程笔记

    变量赋值 a=b=c=1a,b,c=1,2,3= 就是创建新的引用并赋值+= 就是给原引用赋值查看变量的引用(地址...

网友评论

      本文标题:2020-09-16 引用不能重新赋值

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