微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

参考是否改变了参考对象的状态

如何解决参考是否改变了参考对象的状态

| 当我读 ---引用不是指针,它是对象本身,引用是一个实体,是另一个对象的别名。 ---引用永远不能代表NULL ---参考变量允许两个变量名称寻址相同的内存位置: ---以后不能再引用其他对象 ---引用不是变量,因为变量仅由对象的声明引入。对象是存储区域,在C ++中,引用不会(有必要)占用任何存储空间。 现在执行下面的代码行将变量整数转换为常量整数
const Array& ref = integers
而且我读了这个 也表示您可以更改引用对象的状态。 请提出/说明。     

解决方法

不,它不会转换
integers
。现在,您仅拥有
integers
的别名,因此无法更改它。您仍然可以通过原始名称更改
integers
int i = 0;
int const& i_ref = i;
i = 5;
cout << i_ref; // outputs 5
上面的说明还显示了如何更改裁判的状态。     ,您不能更改const引用的状态。除此之外,您提到的所有内容都是真实的。 因此,例如:
const int& ref = integers;
ref = 5;
将无法编译。在哪里
int& ref = integers;
ref = 5;
将进行编译,并将以整数存储的值更改为5。 此外,const引用意味着您无法使用引用更改其引用的对象的值。您仍然可以使用原始变量名对其进行修改。例如:
const int& ref = integers;
integers = 5;
std::cout<<ref<<\",\"<<integers<<std::endl;
是完全有效的,并将产生:
5,5     
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。