游戏开发 c++ 基础学习 第五天笔记摘要

引用
为对象起了另外一个名字
通过将声明符&d的形式来定义引用类型,d为声明的变量名

int ival=1024;
int &refVal=ival;//rafVal指向ival(是ival的另外一个名字)
int &refVal1;//报错,引用必须初始化
refVal=2//把2的值赋值给了refaVal指向的对象,即ival=2
//以引用作为初始值实际上是以与引用绑定的对象作为初始值
int i=refVal;
//引用本身不是一个对象,所以不能定义引用的引用
int &refVal14=10//引用类型的初始值必须是一个对象
double dval=3.14int &refVal15=dval;//引用类型的初始值必须为int型

指针:指向另外一种类型的符合类型
1.指针本身就是一个对象,允许对指针赋值和拷贝
2.指针无须在定义时赋初值
定义指针类型的方法将声明符写成*d的形式,d为变量名

int *ip1,*ip2;//ip1,ip2都是指向int型对象的指针
double dp ,*dp2;//dp2是指向double类型对象的指针,dp是double型的对象

指针存放某个对象的地址,若要获取该地址,需要使用地址符(&)

int ival=42int*p=&ival;//p存放变量ival地址或者说p是指向变量ival的指针

因为引用不是对象,没有实际地址,所以不能定义指向引用的指针

double dval;
double *pd=&dval;//正确,初始值为double型对象的地址
double *pd2=pd;//正确,初始值是指向double型对象的指针
int*pi=pd;//错误,指针pi的类型和pd类型不匹配
pi=&dval;//错误,不能把double类型的地址赋给int型的指针

指针的值(即地址)应属于下列4种状态之一:
1.指向一个对象
2.指向紧邻对象所占空间的下一个位置
3.空指针,以为着指针没有指向任何对象
4.无效指针,上述情况之外的其他值
利用指针访问对象
使用解引用符(*)来访问

int ival=42int*p=&ival;
cout<<*p;//由*得到p所指对象
*p=0;
cout<<*p;//0  如果给解引用的结果赋值,实际上也是给指针所指对象赋值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值