C++学习笔记,指针变量的引用与引用的指针

定义:若一个变量声明为T&,既引用时必须是T类型的变量或对象,或者能转换成T类型的对象进行初始话。

所以,一般地,引用的对象都是变量。

 

/*c++学习笔记之引用,指针变量的引用与引用的指针的区别*/
/*by SZU_Crayon,2018/1/30*/


/*指针变量的引用*/
	int *a;       //声明指针变量,a是一个指向int地址 
	int* &p=a;    //正确,指针变量也是变量,p作为a的别名,改变p指向的值等同于对a进行相同处理 
	int b=8;
	p=&b;         //此时 p &b a 表示同一地址 
	
	
/*引用的指针*/
	int a;
	int& ra=a;         //正确
	int& *p=&ra; 		//error	依据定义,引用必须是T类型的对象或变量,而此处试图引用地址,即引用的指针。 


注意了,引用本身不是一种数据类型!它单单作为所引用对象的别名进行使用,所以引用本身不能再被引用。

 

int& *p=&ra    ra已经作为a的引用,而该命令试图声明引用ra的地址。

 

重要的事情说三遍!

 

/*c++学习笔记之引用,指针变量的引用与引用的指针的区别*/
/*by SZU_Crayon,2018/1/30*/
#include<iostream>
using namespace std;
int main()
{
	int a=6;
	int* &ra=&a;   //[Error] invalid initialization of non-const reference of type 'int*&' from an rvalue of type 'int*'   
	return 0;
}

引用注意类型相符原则:)

 

也就是说要引用指针变量,在声明的时候就把a声明为int*,保证声明引用的时候等号两边的变量(不带符号)表示的类型一致。
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值