指针和引用的区别

如题所述

1.
指针是一个实体,而引用仅是个别名;
2.
引用使用时无需解引用(*),指针需要解引用;
3.
引用只能在定义时被初始化一次,之后不可变;指针可变;
引用“从一而终”
^_^
4.
引用没有
const,指针有
const,const
的指针不可变;
5.
引用不能为空,指针可以为空;
6.
“sizeof
引用”得到的是所指向的变量(对象)的大小,而“sizeof
指针”得到的是指针本身(所指向的变量或对象的地址)的大小;
typeid(T)
==
typeid(T&)
恒为真,sizeof(T)
==
sizeof(T&)
恒为真,但是当引用作为类成员名称时,其占用空间与指针相同4个字节(没找到标准的规定)。
7.
指针和引用的自增(++)运算意义不一样;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-20
1)
引用必须被初始化,指针不必。
2)
引用初始化以后不能被改变,指针可以改变所指的对象。
3)
不存在指向空值的引用,但是存在指向空值的指针。
第2个回答  2020-02-25
指针和Delphi的引用是不同,
指针只是一个单统的导引,
在c语言中是极强大的利器.而Object
Oriented的Delphi引用却是另一回事,
说成为一种遗传较接近.
Delphi的所有物件都是由TObject引用出来,
他们之间的关系绝非指针所能做.
好似TObject之下的曾孙如TForm,
TWindows,
TMenu...各个都很不同,
但却遗传了TObject最基本的属性如.create,
.destroy
第3个回答  2020-02-25
c++中有这两个东西,本质差不多,只有语法上的差别指针'表示一个地址,'引用'用指针表示所指的内容;
第4个回答  2020-02-24
指针需要暂用一个内存地址,很少,引用可能不需要
相似回答