引用和使用引用传递参数《一》

引用实际上是一种隐式指针它为对象建立一个别名,通过操作符&来实现。&是取地址操作符,通过它可以获取地址。
引用的形式如下:
数据类型  &表达式;

eg:
int a=100;
int & ia=a;
ia=2;
定义了一个引用变量ia,它是变量a的别名,对ia的操作与对a的操作完全一样。ia=2把2赋给a, &a返回a的地址。执行ia=2和执行a=2等价


使用引用的说明:
(1)一个C++引用被初始化后,无法使用它再去引用另一个对象,它不能被重新约束。
(2)引用变量只是其他变量的别名,对它的效果与原来对象的操作具有相同的效果。
(3)指针变量和引用有两点主要区别:一是指针是一种数据类型,而引用不是。指针可以转换为它所指向变量的数据类型,以便赋

值运算符两边的类型相匹配;而在使用引用是,系统要求引用和变量的数据类型必须相同,不能进行数据类型转换。二是指针变量

和引用变量都是用来指向其它变量,而指针变量使用的语法要复杂一些;而在定义了引用变量后,其使用方法和普通变量一样。
eg: int a=100;
int *p=&a;
int &ia=a;
(4)引用应该初始化,否则会报错。
eg:
int a;
int b;
int &a;
编译器会报出reference  must be initialized 只要的错误,造成编译不能通过。
下面看个example:

/*
 * main.cpp
 *
 *  Created on: 2012-9-17
 *      Author: china
 *      Demo
 *      引用!!!!!!!!!!!!
 */
#include <iostream>
using namespace std;
int main(int argc, char **argv) {

	int a;
	int &ref_a = a;
	a = 100;

	cout << "a=" << a << endl;
	cout << "ref_a=" << ref_a << endl;

	a = 2;
	cout << "a=" << a << endl;
	cout << "ref_a=" << ref_a << endl;
	ref_a = 3;
	cout << "a=" << a << endl;
	cout << "ref_a=" << ref_a << endl;

	int b = 20;
	ref_a = b;
	cout << "a=" << a << endl;
	cout << "ref_a=" << ref_a << endl;
	ref_a--;
	cout << "a=" << a << endl;
	cout << "ref_a=" << ref_a << endl;
	return 0;
}


 

//程序声明了变量a和一个队变量a的引用ref_a,通过不断地改变a和引用ref_a的值,来使用引用。

输出结果为:
a=100
ref_a=100
a=2
ref_a=2
a=3
ref_a=3
a=20
ref_a=20
a=19
ref_a=19
=========================================

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值