社区
C++ 语言
帖子详情
C++中引用和常量指针是不是一回事啊?
frcsun
2009-03-04 10:43:32
引用&是不是就是常量指针(const pointer)?
两者有不少共同点:定义时都必须初始化;定义之后不能指向其它的对象。。。
...全文
623
31
打赏
收藏
C++中引用和常量指针是不是一回事啊?
引用&是不是就是常量指针(const pointer)? 两者有不少共同点:定义时都必须初始化;定义之后不能指向其它的对象。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
31 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cnStreamlet
2009-03-08
打赏
举报
回复
可能在背后的实现机制上来说是一回事,或者有点不同。
但最明显的一点是,使用上可以不加那颗 * 了
liuliuyushun
2009-03-08
打赏
举报
回复
引用与指针是完全不同的概念,常量指针也是指针.引用有很多指针没有的优点.
C++中引用用的较指针多.
s79947171
2009-03-08
打赏
举报
回复
楼上的大哥,指针必须初始化?????????不是吧????多说是个警告,怎么还编译错误?
ForestDB
2009-03-06
打赏
举报
回复
差不多的语义,语法不一样,一个.一个->
蜥蜴枪王
2009-03-06
打赏
举报
回复
引用&是一个变量的别名;例如: int& b=a;//b声明为a的引用,b和a拥有相同的内存地址,可以通过改变b的值来改变a包含的值.
常量指针表示存储在指针中的地址不能修改;像这样的指针只能指向初始化时指定的地址,但是,地址中的内容不是常量可以修改;(和指向常量的指针不同,指向常量的指针表示指向的内容是常量,不能够修改).
至于引用和常量指针的区别:int& b=a; int* const p=&a; b是a的引用,他们拥有相同的内存地址,指针p存储的是变量a的地址,指针p自己拥有另一个内存地址,可以通过间接运算符来解除指针的引用:int c=*p;
猫已经找不回了
2009-03-06
打赏
举报
回复
引用的是有常量属性,但是它不是指针,它是数据的别名,很明显有区别啊.
pengzhixi
2009-03-06
打赏
举报
回复
[Quote=引用楼主 frcsun 的帖子:]
引用&是不是就是常量指针(const pointer)?
两者有不少共同点:定义时都必须初始化;定义之后不能指向其它的对象。。。
[/Quote]
引用的对象肯定有效。在编译器对引用的实现来说常用常量指针来实现。你不能对引用取址。
rgmlkthh
2009-03-06
打赏
举报
回复
引用比较安全,指针用好了很好,用不好就非常不好。
vitamin_ease
2009-03-06
打赏
举报
回复
[Quote=引用 18 楼 howema 的回复:]
另外一个区别,引用不占用额外的内存,而指针是占内存的。
[/Quote]
占不占内存就和底层实现有关了,也许底层仍然是用类似指针的方法也说不定。
只能说引用的代价是比较小的。
在程序逻辑允许用引用的情况下用引用是更好的。
howema
2009-03-06
打赏
举报
回复
另外一个区别,引用不占用额外的内存,而指针是占内存的。
vitamin_ease
2009-03-06
打赏
举报
回复
本质区别:
一个是别名,一个是指针。
体现出来的区别:
1)常量指针可以解引用得到地址,引用不能。
2)常量指针在声明时可以为null,引用必须在声明时定义。
xuguod20042576
2009-03-06
打赏
举报
回复
当然不一样了
引用是一个变量的别名,而且不需要分配内存地址;
指针是指向一个数据的地址,而且必须初始化,否则会出现编译错误.
xuruichen
2009-03-06
打赏
举报
回复
常量引用:不能改变常量引用的值
常量指针:可以改变常量指针的值,但是不能改变常量指针的指向
dead_of_winter
2009-03-06
打赏
举报
回复
[Quote=引用 18 楼 howema 的回复:]
另外一个区别,引用不占用额外的内存,而指针是占内存的。
[/Quote]
目前已知的大部分实现中引用还是占内存的 详见拙文
http://blog.csdn.net/dead_of_winter/archive/2007/06/06/1641373.aspx
至于楼主提出的const指针 其实const主要也是一种语法限制 并不影响运行时
a378795679
2009-03-06
打赏
举报
回复
常量指针的本质还是指针和引用当然是有差别的了
dead_of_winter
2009-03-06
打赏
举报
回复
主要是语法区别 编译成的汇编代码没什么区别
frcsun
2009-03-06
打赏
举报
回复
[Quote=引用 22 楼 kostion 的回复:]
楼主问的是引用和常量指针,,,,,回复的慢慢的就变成引用和指针了。
[/Quote]
可能大家觉得那个有局限性不够发挥啊~~~呵呵~~~
kostion
2009-03-06
打赏
举报
回复
楼主问的是引用和常量指针,,,,,回复的慢慢的就变成引用和指针了。
caremsi
2009-03-06
打赏
举报
回复
学习
frcsun
2009-03-05
打赏
举报
回复
呵呵 明白了 二者还是两个不同的概念 谢谢大家了
加载更多回复(11)
C++
引用
(变量
引用
、数组
引用
与数组指针、
引用
本质-指针常量、常量
引用
)
本文详细介绍了
C++
中
的
引用
,包括变量和数组的
引用
用法,强调了
引用
必须初始化且不可改变,以及
引用
作为函数参数和返回值的规则。还探讨了
引用
的本质——指针常量,并讲解了常量
引用
的使用场景。
【C/
C++
】指针常量、
常量指针
分不清?竟还能这样记!
本文深入解析
C++
中
指针与
引用
的概念,重点区分
常量指针
与指针常量的不同用法,以及它们与
引用
之间的联系,帮助读者掌握更高级的内存管理技巧。
C++
辨析
常量指针
、指针常量与常量
引用
、
引用
常量
本文深入解析
C++
中
的
常量指针
、指针常量、常量
引用
及
引用
常量的概念与用法,包括它们的区别、初始化规则及特殊用途,如多态实现与临时对象处理。
搬砖:
C++
指针常量、
常量指针
和常指针常量
本文深入解析
C++
中
的指针常量、
常量指针
和常指针常量的概念及用法,阐述它们之间的区别,并解释如何使用const关键字来创建不可变的指针或指针指向的不可变数据。
引用
、常指针、常
引用
、指针常量、
引用
常量
本文详细解析了
C++
中
const限定符的应用,通过对比常指针与指针常量、常
引用
与所谓的
引用
常量,清晰地阐述了它们的区别及作用。并揭示了
引用
常量这一概念为何不存在。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章