C++引用详解

1.引用的详解(reference):

       引用就是给一个变量取别名,它不再重新开辟内存空间,在实际开发中用于函数的参数,引用从内存的角度说比指针快,因为它没有重新开辟内存空间。

2.引用的实例:

        int a=20;

        int &b=a;

         (a和b指向的同一片内存区域)

      修改a就是修改b,就类似于周星驰就是007,周星驰50岁了,007也50岁了,007 50岁了,周星驰也50岁了。

3.引用在开发中的使用:

#include <iostream>
using namespace std;


void f1() {
int a = 20;
int &b = a;//创建引用类型变量时,要立刻 "赋值",a和b指的同一块内存。
int c = 100;
b = c;
cout<<b<<endl;//100
cout<<a<<endl;//100
cout<<&a<<endl;//0xbfbd393c
cout<<&b<<endl;//0xbfbd393c
}

要求:用函数的形式修改f2和f3的值:
void f2(int *p) {          //用指针的方式给age赋值   其实这里就是int *p=&age;
*p = 21;
}

/* int &r做函数参数,并没有给r赋值,但是函数只有在调用的时候才赋值,在主函数中调用f3()的时候已经把age赋值了,也就是给age取别名为r,int &r=age;  */
void f3(int &r) {//int &r = age   //用引用的方式给age赋值为22
r = 22; //age=22
}

int main() {
// f1();


int age = 20;
//调用函数,让age的值改变为21
f2(&age);
cout<<"age="<<age<<endl;//age=21
//调用函数,让age的值改变为22; 但是不能使用指针


f3(age);    //int &r=age
cout<<"age="<<age<<endl;//age=22
return 0;
}


4.引用和指针的区别:

 a.引用是变量的别名, 不会再开辟空间
 b.引用在实际开发中,只使用于函数的形式参数
 c.比喻:  引用是一种受限指针
 d.引用能做的事指针都能做,而指针能做事引用不一定能用。
 e.引用的底层实现多数编译器也是指针.


喜欢小编的可点波关注哈!


以电波关注0 ! 


     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值