1.C++中没有C#中所谓的引用类型和值类型,需要使用引用,或者指针操作对象,但是指针容易出错,为什么不用引用而用指针呢,下面给出总结
<1>引用在声明时必须初始化,指针可以是空指针,引用定义后就不能在指向其他对象了
如果一个指针所指向的对象,需要用分支语句加以确定,或者在中途需要改变他所指的对象,那么在它初始化之后需要为他赋值,而引用只能在初始化时指定被引用的对象,所以不能胜任。
int b = 1; int c = 2; int & d = b;
<2>使用函数指针,由于没有函数引用,所以函数指针无法被引用替代。
<3>使用new创建的对象或数组,需要用指针来存储它的地址。
<4>数组其实就是指向第一个元素的指针,但是不能引用数组
//int & a[] = { 2 }; 不允许使用引用的数组