引用
对引用的几点注意:
1.必用必须在使用时初始化
int ival=2048;
int &val=ival;//引用时必须被赋值,否则将出现如下情况
int ival = 2048;
int &val;
val = ival;
一旦初始化完成,引用将与它的初始化对象一直绑定在一起,且无法改变绑定对象;
注意:对于引用而言,引用的是一个变量,因此能对引用进行更改,(将引用绑定到了一个变量上);
2.引用与对象严格匹配
对引用的操作,本质上就是对原对象的操作,因为引用就是元对象的别名,编译器不给引用分配内存。
指针
对指针的几点注意:
在生命指针的时候一定要将指针置空
int* p=nullptr;//c++的新标准;
int* p=0;
int* p=NULL;
//以上三种均为指针置空的方法,且为合法的地址
指针在声明时,我一般更倾向去将空格写在中间 类似于 int* p=0;
复合声明--着重与指针的引用
指针的引用使用方法:int* &r=p;//p是指针。
int i=42;
int* p=0;//p是一个空指针
int* &r=p;//从右往左看 r是一个引用,且r引用的指针p;
//如果写成如下
int* r=p;//那么r是一个变量,同时为r分配内存空间
r=&i;//r与指针p绑定在一起
*r=1;