注册 登录
编程论坛 C++教室

请教关于引用的问题

全世界安静 发布于 2012-06-11 21:01, 429 次点击
请问为何定义一个基本数据类型变量的引用之前必须要给变量赋初值?
int a=100;//必须赋初值
int &ref=a;
而定义一个指针变量的引用就不需要给指针变量赋初值?
int *p;//p未赋初值
int *&ref=p;
请问定义引用究竟内部是个怎样的机制?
5 回复
#2
全世界安静2012-06-12 11:50
没人知道?
#3
hellovfp2012-06-12 11:55
引用,也是指针,你可以把它想像成一个const 常量指针,需要初始化。
#4
一号空间2012-06-12 12:42
引用要初始化,指针也要赋值给它。
#5
全世界安静2012-06-12 13:50
回复 4楼 一号空间
指针未赋值,程序编译没有显示错误,但是变量必须先赋值
#6
lonmaor2012-06-12 17:26
int a;
int &n = a;
则a和b代表的是同一个变量空间。引用b不需要额外分配存储空间,且引用在定义时需要初始化。
int a;
int *p;
p = &a;
p在定义的时候会自动分配一个存储空间,存放的是某个地址,因为未初始化,所以其中的值可能是任意的。
1