int*& 这种类型的参数是什么用的?

zengkun100 2005-01-05 12:02:38
void func (int*& p)

就拿上面的那个函数来说,我发现int*&这个类型可以实现以前所说的指针的指针的能力。直接用这样的语句:
p = ……
就可以修改传过来的指针,让它指向别的位置,但是只能传过来指针,不能传过来变量的地址。
可是还看到有这样的参数定义void func (const int*& p)
加上const有什么用呢?
对了,这个是不是指针的引用呀?
...全文
259 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
llf_hust 2005-01-07
  • 打赏
  • 举报
回复
是指针的引用,作用相当于指针的指针
allen_zhaozhencn 2005-01-07
  • 打赏
  • 举报
回复
reference to pointer that type is int
gameboy007 2005-01-05
  • 打赏
  • 举报
回复
const int <= * <= &
--------- - -
That mean is "reference to pointer, and that pointer is pointing to const int"



xiaolizi 2005-01-05
  • 打赏
  • 举报
回复
其实就是指针的指针啦^_^
也可以叫指针的引用啦^_^
260005065 2005-01-05
  • 打赏
  • 举报
回复
是指针的引用
yangki 2005-01-05
  • 打赏
  • 举报
回复
指针的引用,可以修改指针的
liem 2005-01-05
  • 打赏
  • 举报
回复
指针的引用可以修改指针值
void test(int * h)
{
h=new int(10);
}
当返回时h的指向并没有变

void test(int *&h)
{
h=new int(10);
}
返回时h的指向改变了。
beyondtkl 2005-01-05
  • 打赏
  • 举报
回复
指針得引用

就是一個引用 只不過引用得對象稍微復雜一點。
ppddt008 2005-01-05
  • 打赏
  • 举报
回复
gameboy007是对的
void func (const int*& p)和
typdef const int* T;
void func (T& p);
是等价的,
可以改变p的值,但不可以执行
*p = 。。。;// 和不能改变*p的值不同,因为你可以p = new int(***)这就改变了*p的值,这是个文字问题^_^
jin_xiaolu2000 2005-01-05
  • 打赏
  • 举报
回复
对应到这个
swap(int *a,int *b)
{
int c=*a;
*a=*b;
*b=*a;
}
对这个交换来讲, 和swap(int a,int b)有相似的地方,就是a,b的直并没有改变,而int *& p 如果作为指针的引用,那么可以改变a,b指针的直(不是所指的值)
carylin 2005-01-05
  • 打赏
  • 举报
回复
void func (int*& p); 与 void func (int &p);是一样的
lu1172101275 2005-01-05
  • 打赏
  • 举报
回复
加上const有什么用呢?---------就是func 内部不能对p值更改的;也就是,不能++p;重新赋值等操作的。int*& p 是指针的引用
xuzheng318 2005-01-05
  • 打赏
  • 举报
回复
准确的说是指针的引用!
idau7 2005-01-05
  • 打赏
  • 举报
回复
是指针的引用.
july81 2005-01-05
  • 打赏
  • 举报
回复
void func (const int*& p)
~~~~~~这个是一个指针的引用,该指针指向一个const int,也就是指针可变,指针指向的内容不可变。
void func (int*& p)
~~~~~~这个是一个指针的引用,指针和指针指向的内容都可变。
zengkun100 2005-01-05
  • 打赏
  • 举报
回复
再顶起来吧!
因为我发现这里有些人说的是错的。
这两个定义:
void func (const int*& p)
void func (int*& p)
都不妨碍在函数体内使用下面的语句:p = new int[10]; 但就是不懂加个const 有人已经回了,没怎么看懂,不要骂我笨:)
希望大家都来讨论,加深对指针的认识。

64,637

社区成员

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

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