2 qq 27424411 qq_27424411 于 2017.10.01 11:15 提问

请问函数名前面的&符号表示什么意思?
c++

请教各位,像图片中的 &TheFunction 中,&表示什么意思?

注:SimpleCat是前面已经声明了的一个类名:class SimpleCat{ };
图片说明

31个回答

DACO2017
DACO2017   2017.10.01 12:40

说明一下,是引用不是指针哈

a996627519
a996627519   2017.10.02 17:39

一楼错了,这里是返回引用,不是返回指针

kenlee0010
kenlee0010   2017.10.05 16:09

&是C语言中的取地址的运算符

a19990412
a19990412   2017.10.05 19:01

这不是取地址符么???哈哈哈哈哈,欢迎入C++的坑

qq_24041497
qq_24041497   2017.10.07 17:03

&其实是和SimpleCat合并起来一起理解的,不是函数名的一部分,它表示的是函数的返回值一个引用类型,其作用是为了能够使函数返回值作为左值,
如果在函数中return this;的话,那么该函数可以支持链式调用

m0_37872098
m0_37872098   2017.10.02 21:16

return * pFrisky;
pFrisky为指针,

  • pFrisky为解引用, 所以返回的是一个对象, SimpleCat & TheFunction() {} 中的 SimpleCat & 对应于返回 对象的引用
m0_37872098
m0_37872098 打错了,应该是 * pFrisky为解引用
2 个月之前 回复
Young_Gao
Young_Gao   2017.10.09 16:10

印象里&是取地址的 很久没用C了 不知道说的对不对。。。尴尬的卖个萌吧。。。。。 = ̄ω ̄=

Zindow
Zindow   2017.10.11 21:41

这样写可能清楚点:
SimpleCat& Thefunction(){...}
这里 SimpleCat & 是一个整体,表示这个函数的返回值是 SimpleCat &

NinYing
NinYing   2017.10.04 15:39

一二楼说的指针是错的...
这里是指返回的是引用,也就是说把函数体内new出来的变量传引用而不是传值传出来。

Godfrey1
Godfrey1   2017.10.07 14:27

&返回的是对象的引用,在函数内部是return 指针

共31条数据 1 3 4 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!