1.引用必须初始化 指针不必
2.引用不能为空 指针可以指向空
3.大小 引用大小取决于变量的大小 指针大小就是地址大小。
引用的本质: 引用类型。在内存中,为已知变量取一个”别名“,在堆栈中取一个名字,分配一段空间。然后将所引用的对象的地址存进去。
int a=100;
int c=10;
int d&; //error
int &p=a;
p=c;
指针的本质: 地址类型。是一个新的类型,比如int long 这个类型叫地址, 通过 *address可以访问该地址存放的内容。
int *add=&a;
cout<<add<<endl; //存取a 的地址
cout<<*add<<endl; //访问 a 的内容
cout<<&add<<endl;; //存取 地址add的 地址
cout<<*&add; //访问 add的内容