引用&

总结:

引用是一个变量的别名,一开始定义就是其它变量的别名。引用类型的定义并不会开辟新的内存空间,但是需要有一块已经存在的内存空间。

对引用的使用实际就是在使用变量。被引用的变量和该引用使用同一块内存空间。

1、定义引用时,必须为其赋初始值,可以是一个变量可以可以是另一个引用,但不能是常量和NULL;

int &i = 10/*NULL*/;   //wrong

2、引用定义完成并初始化后,不能再次对它赋值 (即不能让它做其它变量的别名);

int i = 100;
int ii = 10;

int &iii = i;
int &iiii = ii;

iii = iiii;  //对它的赋值,其实是值变量值的赋值

cout << "iii = " << iii << endl;
cout << "i = "   << ii  << endl;

3、当使用“&”运算符取一个引用的地址时,其值是所引用的变量的地址;

cout << "&i =   " << &i    << endl;
cout << "&iii = " << &iii  << endl; //两者值一样

4、引用的类型应该与所引用的变量的类型保持一致,当然不能是 void 类型;

int i = 10;
void &ii = i;   //wrong

5、不能定义引用类型的指针;不能定义引用的引用;不能定义引用数组(但可以将引用赋值给数组元素,实际就是变量本身);

int i = 9;
int &ii = i;
int& *p = ii;   //不能建立指向引用的指针

int i = 9;
int &ii = i;
int &&iii = ii;  //不能建立引用的引用

//引用数组
int &i[10];
int &i[2] = {i, ii}; //不能建立引用数组

指针和引用的区别:

1、指针定义的时候会分配内存空间,引用只是一个变量的另一个名字;

2、对内存的操作要么间接,要么直接。通过指针可间接操作目的内存,通过引用则直接操作;

.....

时间: 2024-09-19 20:44:05

引用&的相关文章

编程-VB 引用同一根目录下的文件夹的Excel

问题描述 VB 引用同一根目录下的文件夹的Excel exe文件跟文件夹的根目录一样,要引用文件夹下面的Excel部分单元格的数据各位高手帮我解答下,新人的第一条提问 解决方案 '工程-引用-将Microsoft Excel 12.0 Object Library选中,'工程-部件-将Microsoft Common Dialog Control 6.0选中,'在窗体上添加一个按钮Command1对象,一个CommonDialog1通用对话框对象Private Sub Command1_Clic

Java是传值还是传引用

All Java method arguments are passed by value. However, Java does manipulate objects by reference, and all object variables themselves are references.(摘自http://www.javagalaxy.com:8080/Interview/index.jsp?Intv=18) Java中所有方法的参数都是传值的. 然而,Java确实是通过引用来操作对

关于maven多项目之间的引用问题

问题描述 关于maven多项目之间的引用问题 现在是我的test-rop maven web中想引用 api接口中的一个server方法 我如何建立依赖关系才能引用到呢?我将api建到了web的依赖中了 但是还是引不到 这是我web的pom.xml中引用的配置 是通过maven生成的 <dependency> <groupId>com-lyl-base-api</groupId> <artifactId>com-lyl-base-api</artifa

echarts3.0 引用json地图

问题描述 echarts3.0 引用json地图 echarts3.0有两个引入地图的方式,http://echarts.baidu.com/download-map.html 我用js的方法引入成功了,但是用json的方法就是看不到地图(火狐也看不到),空白一片 以下是我的目录结构 F:MyEcharts3.0 -china.js -china.json -echarts.js -echarts.min.js -jquery.min.js -macarons2.js -MyTest.html

Word中玩转交叉引用的技巧

  Word中的交叉引用,很多的朋友都不知道,这是做什么的用的吧,其实一两句话也说不清.我们通过一个例子来理解一下,感兴趣的用户可以跟着来: 例如本文中,将光标放在"如"字后面,依次点击菜单栏的插入-引用-交叉引用,打开交叉引用设置对话框. 使用交叉引用的好处在于,当在文中插入新的图片后,若没有使用交叉引用,还得在文中找到原来的图表标签进行更改,这样工程量大,且容易出错,而使用了交叉引用后,只要用ctrl+A全选,再点F9更新下就可以完成文中图表标签的修改,且不会出错. 交叉引用 其实

Log4Net生成出现未引用错误解决方法

1.步骤一: 2.步骤二: 明明添加了引用怎么还提示找不到命名空间呢.解决这个问题很简单,右键项目选择属性:   3.步骤三:换成.NET Framework 4即可,解决!   4.两个有啥区别? Microsoft .NET Framework 4 Client Profile 提供了 .NET Framework 4 中的一部分功能 转载:http://www.cnblogs.com/zqzjs/p/4656822.html

分布式Map中实现引用计数

前言 在<ReferenceCountSet无锁实现>中,详细介绍了如何在一个进程中实现一个无锁版本的ReferenceCountSet(或者说是在自己的代码里没有锁),但是最近遇到一个问题,如果是在分布式的环境中呢?如何实现这个引用计数?这个问题如果从头开始写,会是一个比较复杂的问题,在实际中,我们可以使用ZooKeeper设置时的version机制来实现,即CAS(Compare-And-Set).这是一个本人在实际项目中遇到的一个问题,但是会更简单一些,因为在我们的项目中,我们使用Gem

[android]android工程引用第三方jar提示找不到相关class的解决方法

使用第三方jar包  步骤:  方法1:Eclipse下, 右键工程, Build path, java build path,选择libraries 在右边的按钮中点击"Add Library" 选择"User library",点击"下一步" 点击"User librarys"按钮 在出现的界面中点击"New.."按钮 在弹出的界面中随便起一个名字,点击"确定" 点击"Ad

MathType如何引用公式编号

  具体操作如下: 1.在文档中将光标放到要插入编号的地方,再在Word菜单中选择MathType菜单--插入公式参数(Insert Equation Reference). 在MathType菜单中点击"插入公式参数" 2.如果是第一次使用这个功能,则在点击"插入公式参数"后出弹出如下一个对话框,意思为双击你想要的公式编号,则这个编号就会出现在现在的插入点处,如果不勾选下面的复选框,则会每次都弹出这个窗口,如果勾上之后则在以后的使用过程中不会再弹出此提示窗口. 插

Winform客户端引用WCF客户端后,部分类无法正常使用

在项目中用到WCF,项目的结构是这样的: 在SPI项目中编写该解决方案中公共的类及函数: 在WCFService项目中写的是svc文件及WCF服务接口: 在Client中添加WCF服务引用的时候该WCFService项目,然后再UI项目中初始化Client的实例.通过该实例WCFService中的方法. 问题: 有时会出现这么一种情况,在UI中通过初始化Client的实例.通过该实例WCFService中的方法MethodA,该方法的入参是SPI中类ConnectionInfo的实例,然后在UI