关于函数参数表中 & 符号在类名右边的想法

在研究osg的时候突然发现一个问题,一个函数参数列表里面居然有一个取地址符号&在类名的右边!
顿时就觉得有点蒙圈,他是长这样的
        Node(const Node&,const CopyOp& copyop=CopyOp::SHALLOW_COPY);
感觉很眼熟,想起来在C++primer开篇的书店例子里面也有这个,那时候是长这样的
        Sales_item operator+(const Sales_item&, const Sales_item&);
哇,那时候就混过去了没有深究,出来混迟早是要还的,于是开始找答案,最终在一个问答里面找到了应该是正确的回答,这里赋原链接,感谢答主!!https://zhidao.baidu.com/question/1174371866493901019.html

———-华丽的分割

现在来分析一下,上面书店例子应该是省略了具体的形参名字,只写了参数的类型是Sales_item类对象的引用,所以可以改写为
Sales_item operator+(const Sales_item &item, const Sales_item &item);
这样应该就对了,所以不存在&写在变量左边或者右边的区别,区别只是省略写法而已~
那上面应该就能写成
Node(const Node &node,const CopyOp& copyop=CopyOp::SHALLOW_COPY);
了吧~参数是Node类的对象的一个引用。

撒花~
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值