菜鸟请教指针引用和引用指针

leboc 2008-12-23 08:14:18
p是一个指针
int *&s=p;
int &*s=p;
请问哪个是指针引用,哪个是引用指针

二者区别是不是一个同步地址,一个同步数值?
...全文
128 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuruichen 2008-12-24
  • 打赏
  • 举报
回复
指向引用的指针是非法的,
指向指针的饮用时合法的。
int*& k;//ok
int&* m;//error

因为指针可以指向其他地址,引用一旦确定就会从一而终,就是指向这个地址就不会变了,
指向引用的指针,指针可以指向其他地址,就会使引用指向其他地址,这样就没有引用的本色了。
我是这样理解的。
逸学堂 2008-12-24
  • 打赏
  • 举报
回复
int &*s=p; // 没有这种声明方式
sincor 2008-12-24
  • 打赏
  • 举报
回复
其实指针和引用没有什么特别的 还是一个储存单元而已
sincor 2008-12-24
  • 打赏
  • 举报
回复
p是一个指针 
int *&s=p;
int &*s=p;


我建议楼主这样理解

凡是 *和字母搭配 就是指针


凡是 &和() 括号内可以是一个字母可以是一个字母组合 就是引用,也可以理解为 取该单元的地址
而存储某一单元地址的单元是不是指针呢,所以就是 指针的指针 哈哈

aqbidt 2008-12-24
  • 打赏
  • 举报
回复
同意 3楼
SearchLife 2008-12-24
  • 打赏
  • 举报
回复
引用是依附于某个类型变量而存在的,是这个变量的别名。
引用本身没有类型,他只是指针的一个封装,在底层实现时,他的值其实是另一个变量的地址,且这个值是不可再改变的。
在表面看引用则是不占内存。

所以从语义上看再声明一个指向引用的指针是没有意义的。因为他本身就是一个常指针了。^_^
ypb362148418 2008-12-24
  • 打赏
  • 举报
回复
int *p;
*&p是指针的引用,也就是引用指针的地址,&*p,是引用指针指向的值。
caremsi 2008-12-23
  • 打赏
  • 举报
回复
int *&s=p; p是一个指向int型的指针,s是它的引用
int &*s=p; p=s都是一个指向引用的指针,很不ok啊
benhuang 2008-12-23
  • 打赏
  • 举报
回复
引用是没有地址的。。。。
xiaoyisnail 2008-12-23
  • 打赏
  • 举报
回复
补充:指向引用的指针是非法
xiaoyisnail 2008-12-23
  • 打赏
  • 举报
回复
int *&s=p; s是指针的引用
int &*s=p; s是指向引用的指针
请问哪个是指针引用,哪个是引用指针 好像没有引用指针,指针引用这种说法

二者区别是不是一个同步地址,一个同步数值? 区别就是指针和引用的区别啊
机智的呆呆 2008-12-23
  • 打赏
  • 举报
回复

int *&s=p;//指针的引用
int &*s=p; //指向引用的指针,非法。
BeHardOnSelf 2008-12-23
  • 打赏
  • 举报
回复
只知道如果p是int 型指针。
那么对p的引用是int * &s=p;
leboc 2008-12-23
  • 打赏
  • 举报
回复
另外问一下c++ primer(第四版)中有有介绍这个吗? (我找了半天没找到)

64,687

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧