请问在C++中星号* 和取址符号&同时使用时什么意思呀

Linky1990 2013-04-07 06:48:33

再看二叉查找树时,看到有一个函数式这样的:

Error_code Search_tree<Record>::search_and_insert(
Binary_node<Record>* &sub_node, const Record &new_data)

一直想不明白Binary_node<Record>* &sub_node应该怎么理解,前半部分Binary_node<Record>* 表示指针的意思,sub_node表示指针变量名,但是和&sub_node连用时什么意思呢?

谢谢赐教
...全文
979 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxdxgcxy 2013-04-09
  • 打赏
  • 举报
回复
指针引用 通常可以用多指针解决的
wuxiaohu 2013-04-09
  • 打赏
  • 举报
回复
表示指针的引用,在函数search_and_insert中,你可以修改*sub_node的值
汪达人 2013-04-08
  • 打赏
  • 举报
回复
有时候分析开,不要当做一个整体。 *号你知道是指针吧? &知道是引用吧? 那就可以啦
小竹z 2013-04-08
  • 打赏
  • 举报
回复
Binary_node应该是一个模板类哇,Record应该是具体存的数据类型,后面的就是指针引用。指针引用一般是为了让指针返回函数内申请的内存地址。
凯v587 2013-04-08
  • 打赏
  • 举报
回复
而且 我记得 写法应该是 int * &a = p; 而不是 int & *a = p;
凯v587 2013-04-08
  • 打赏
  • 举报
回复
c++中引用数据类型和取地址符的区别是左值和右值的区别,引用是左值,取地址运算符是右值,所谓左值指的是内存中映射的存储单元,右值是存储单元中所存的数据。int &a = b;和int *p = &a; 可以解释这两种不同的关系。 关于楼主所讲,该类型本身就是一个引用,只不过引用的类型是指针类型而已。也就是说,被调函数与主调函数所使用的指针变量是一个指针变量,而并非一个参数传递时的拷贝。 不知道这么说是不是能理解。
xiaohutushen30 2013-04-08
  • 打赏
  • 举报
回复
传参数传的是一个引用。
AndyZhang 2013-04-08
  • 打赏
  • 举报
回复
把这个Binary_node<Record>* 当做int 然后&,其实是一个道理
DyanWang 2013-04-08
  • 打赏
  • 举报
回复
引用的本质就是别名,这儿的引用类型是Binary_node<Record>* 。
Linky1990 2013-04-08
  • 打赏
  • 举报
回复
请问什么指针的引用?表示指针变量的地址吗?还是别名
startservice 2013-04-07
  • 打赏
  • 举报
回复
指针的引用。
derekrose 2013-04-07
  • 打赏
  • 举报
回复
声明的时候&表示引用
liao05050075 2013-04-07
  • 打赏
  • 举报
回复
表示一个指针的引用

65,176

社区成员

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

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