引用能被修改吗

int a=4;

int &b=a;

&作为引用来用只在C++中有,C语言中的&只有取址作用。上述代码在C编译器中是编译不通过的。

在C++中,声明引用必然初始化,因为后面是不允许再修改成引用其它变量的,即想修改引用

int c=9;

&b=c;

是错误的。

引用可以修改所引用的变量,例如b引用的a,那么b=10,则a也会变成10。

时间: 2024-11-25 14:40:06

引用能被修改吗的相关文章

React---之旅:巧妙引用传递,修改state

开门见山,只为了更好的React开发. 修改state这个东西,系统只提供了this.setState();这个东西去修改我们的State.然而每次setState带来一个问题那就是会刷新我们的页面. 然而开发中有些state只是为了记录一些值,并是不所有的state都是为了去刷新页面.每次的state去赋值都会带来刷新.很是苦恼. 今天的主角来了引用传递. 不解释这个东西了. let state = this.state, state.status = value; 这样完成了我们的想法,可以

skyline的fly工程中引用数据路径修改

在skyline的网络版项目中,经常会遇到发布的数据,服务器IP地址变化或者其他变化,导致得 修改其中的数据,将数据的路径重新发布等,手动修改的话,这是一个费时费力的工作. 通过 TE的二次开发,用程序批量修改其中的shp文件,模型文件,单独元素的网络地址: 能实现本地数据和网络数据的地址切换. 图层之间的样式能够进行复制,实现同类型的图层样式一致,减少手工的工作量. 原文地址:http://blog.51cto.com/speciallst/2121939

java 方法修改主函数里基本数据类型和引用数据类型的区别

public class Dog { public void Age(int age) {//副本新建的age age++;//对副本修改 System.out.println(age); } public void arrDemo(int[] arr) { arr[2] = 100;//对堆里的数据修改 for(int i =0;i<arr.length;i++) { System.out.println(arr[i]+" "); } } public static void

Python中全局变量的引用与修改之格式影响

先来看下面的代码及执行结果: a = 1 b = [2,3] def nums(): a = 2 b[0] = 0 print(a) print(b) print(a) print(b) nums() print(a) print(b) 结果: 1 [2, 3] 2 [0, 3] 1 [0, 3] 对上面结果的分析: 函数 nums() 中重新定义了一个变量 a ,这个 a 是局部变量,与外面的全局变量没有关系,而全局变量 列表 b 直接被引用过来进行修改了,同样是全局变量为什么会有差别呢? 因

c++变量的引用---5

原创博客:转载请标明出处:http://www.cnblogs.com/zxouxuewei/ 1.引用变量的主要用途: 用作函数的形参,通过将引用变量用作参数,函数将使用原始数据而不是其拷贝. 2.引用变量用法 创建变量的引用:int& a = b;(是将a的类型声明为int&,即int变量的引用) 注意:在声明变量的引用时必须初始化(如之前例句) int a;int& b;a = b;//should not do this 3.只能通过初始化声明来设置引用,不能通过赋值来设置

【C++探索之旅】第一部分第八课:传值引用,文件源头

内容简介 1.第一部分第八课:传值引用,文件源头 2.第一部分第九课预告:数组威武,动静合一 传值引用,文件源头 这一课的标题有点怪.其实是由这一课的几个重点内容结合起来取的名,慢慢学习就知道啦. 上一课<[C++探索之旅]第一部分第七课:函数效应,分而治之>中,我们初步认识了函数. 不过不要高兴得太早,你以为函数就这样离你远去了嘛?怎么可能,函数将伴随一生好吗,只要你继续编程的话.哈哈,所以你是跑不掉了~ [小编,都跟你签了协议了,没吃药不要随便出来溜达] 这一课我们就继续深入学习与函数相关

final修饰的变量是引用不能改变,还是引用的对象不能改变???

对于这个问题,我们不能只记结论,要拿实例说话,参看以下代码: public class Demo { public static void main(String[] args) { final StringBuilder sb = new StringBuilder("haha"); //同一对象的hashCode值相同 System.out.println("sb中的内容是:" + sb); System.out.println(sb + "的哈希编码

临时变量作为非const的引用进行参数传递引发的编译错误

1.错误原因即解决办法 Linux环境运行,使用g++编译,观察如下代码,会出现: invalid initialization of non-const reference of type 'std::string&' from a temporary of type 'std::string'的错误. 其中文意思为临时变量无法为非const的引用初始化.也就是在参数传递的过程中,出现错误.出错的代码如下: void print(string& str) { cout<<st

JNI局部引用表溢出:local reference table overflow (max=512)

转载请注明出处:http://blog.csdn.net/xyang81/article/details/44873769 在<JNI/NDK开发指南(十)--JNI局部引用.全局引用和弱全局引用>这篇文章中详细介绍了在JNI中三种引用的使用方式,区别.应用场景和开发注意事项.由于都是理论,看完之后可能印象不够深刻,由其是在开发当中容易出错的地方.所以这篇文章用一个例子说明引用使用不当会造成的问题,以引起大家对这个知识点的重视. 首先创建一个Android工程,在主界面放一个文本框和一个按钮,