c++引用另一个类的变量_C++中的指针和引用

本文介绍了C++中的指针和引用,它们都是指向其他变量的别名或地址。指针可以在声明时不赋值,之后可以重新赋值指向新的变量,而引用必须在声明时初始化且不能改变所引用的对象。此外,指针可以嵌套使用,但引用不可以。在声明变量时,需要注意指针与非指针变量的区分,避免混淆。
摘要由CSDN通过智能技术生成

d14e5956f51ebd45e338980bd9ecfd36.png

指针和引用算是C++小白很头痛的点之一了,我自己经常就是看了忘,忘了看,为了省去找资料的时间消耗,痛定思痛决定写一篇总结,如有不到之处欢迎指出。

一.定义

1.指针:保存了另一个变量的地址的变量,通过在定义的指针名前加上*可以得到指针保存的地址信息处存储的内容。

2.引用:一个现有的变量的别名,内部实际上是通过指针实现的,所以本质上也是对另一个变量地址的存储。通过在定义的引用名前加上&可以得到引用的对象的地址。

在本质上两者意思相近,都是指向另一个存在,下面我们来说一说区别。

0b4c53782139fcc6e0bdb40d067977e7.png

二.区别

1.初始化,指针*可以不用赋初值而引用&则必须要赋初值

指针

int a = 10;  
//赋初值    right!!   
int *p = &a;    
//不赋初值  right!!
int *p;
p = &a;

引用

int a=10;
//赋初值    right!!  
int &p=a; 
//不赋初值  false!!  
int &p;
 p=a;    

2.重新赋值,指针*可以重新赋值从而指向一个新的变量而引用&则不可以重新赋值来指向一个新的变量

指针

int a = 5;
int b = 6;
int *p;
p =  &a;
p = &b;           //right

引用

int a = 5;
int b = 6;
int &p = a;
int &p = b;       //false  

3.嵌套使用,指针*可以进行嵌套使用而引用&则不可以嵌套使用

指针

int a = 10;
int *p = a;
int **q = p;  //right

引用

int a = 10;
int &p = a;
int &&q = p;  //false

三.变量声明

以指针为例,声明方式共有两种:

int* a

int *a

这两种实际作用上没有区别

区别在于同时声明多个变量时

例:

int *a, b, c 只有a是指针,b和c均为int类型

int* a, b, c 和int, double等普通连续声明变量存在区别,它和上面的写法一样只有a是指针,b和c均为int类型,对于初学者来说容易产生误导。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值