c++引用类型和指针类型的区别
4个回答
展开全部
能用引用完成的都可以用指针完成.
能用指针完成的不一定能用引用完成.
引用正是屏蔽了指针 "不安全 "但却 "功能强大 "的那部分.
引用不能为空,
所以在程序中的引用都是有值的,不必检查该引用是否为空。
而指针则可以为空。你可以定义一个指向NULL的指针,这就是和引用的最大区别,
所以在程序中使用指针之前必须检查该指针是否为空
区别主要有三条
1、引用必须初始化,指针可以任何时候初始化
2、引用后不能再引用其他对像,指针则可以
3、引用不能为空,指针可以为空
(1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。
(2)不能有NULL引用,引用必须与合法的存储单元关联(指针则可以是NULL)。
(3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。
能用指针完成的不一定能用引用完成.
引用正是屏蔽了指针 "不安全 "但却 "功能强大 "的那部分.
引用不能为空,
所以在程序中的引用都是有值的,不必检查该引用是否为空。
而指针则可以为空。你可以定义一个指向NULL的指针,这就是和引用的最大区别,
所以在程序中使用指针之前必须检查该指针是否为空
区别主要有三条
1、引用必须初始化,指针可以任何时候初始化
2、引用后不能再引用其他对像,指针则可以
3、引用不能为空,指针可以为空
(1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。
(2)不能有NULL引用,引用必须与合法的存储单元关联(指针则可以是NULL)。
(3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从内部看,本质一样,存放的都是指向的单元地址,但处理含义不一样。
引用是用地址直接表示所指向的单元,不需要加*号就能访问指向单元,但引用受到限制。原因是只为子程序传址用的。
而指针只存放某单元的地址,若访问这个单元必须在指针前加*号。
其实对引用类型,可以用特殊办法绕开引用的限制,象指针一样任意改变引用的指向。
引用是用地址直接表示所指向的单元,不需要加*号就能访问指向单元,但引用受到限制。原因是只为子程序传址用的。
而指针只存放某单元的地址,若访问这个单元必须在指针前加*号。
其实对引用类型,可以用特殊办法绕开引用的限制,象指针一样任意改变引用的指向。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
引用是别名的意思,指针保存的是地址。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询