您好,我是计算机专业在校大学生,很高兴回答您的问题!
简单的扼要的给您讲讲吧
1、对变量的引用取地址,相当于对被引用的变量取地址,例如:
int ival;
int & iref = ival;
int * iptr_1 = &ival;
int * iptr_2 = &iref;
则有iptr_1 == iptr_2。
我们不能定义指向引用类型的指针变量,这是说,不能像这样定义:
int & * iref_ptr = &iref; // 错误的类型定义
事实上这里初始化式&iref也只不过是一个int*类型。
2、const对象的const指针可用于函数参数传递。例如:
void foo(const int * const p)
{/* ... */}
函数里面用起来和const类型的引用差不多,所以一般也只用引用的用法。上面的用法是合法的,但实用价值不大。
注:声明的语法,const修饰紧靠其前的类型,如果const前面没有类型,修饰后面的类型。例如const int*与int const *是一种类型,但与int * const不同。
3、语法和概念不同,但应用价值差不多。见2。
4、没有这个概念,因为引用一旦定义指向某变量,就不能改变,这与指针有本质不同。
建议去读《c++ primer》
望采纳,o(∩_∩)o