鱼C论坛

 找回密码
 立即注册
查看: 1251|回复: 9

[已解决]函数模板实例化

[复制链接]
发表于 2023-5-28 10:57:33 | 显示全部楼层 |阅读模式
15鱼币
IMG_20230528_104551.jpg 手写的话观赏效果可能更好
最佳答案
2023-5-28 10:57:34
手写的话观赏效果可能更好

我不赞同这一点

最佳答案

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-28 10:57:34 | 显示全部楼层    本楼为最佳答案   
手写的话观赏效果可能更好

我不赞同这一点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-28 13:21:34 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-28 14:00:25 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-28 14:19:41 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-28 14:20:13 | 显示全部楼层

还真有一个叫chatgpt的鱼油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-5-28 14:22:29 | 显示全部楼层

OK,有问题我就解决,再发一遍,还请务必来捧场
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-5-28 14:50:39 | 显示全部楼层

歌兄,我又发了这个问题一遍,能回答的话,两次悬赏都交于您
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-28 14:51:13 | 显示全部楼层
老沫白 发表于 2023-5-28 14:50
歌兄,我又发了这个问题一遍,能回答的话,两次悬赏都交于您

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-28 14:53:21 | 显示全部楼层
对于第一个调用func(ps),由于ps是一个const string *类型,所以使用const T &t模板参数,T被推导为const string *类型,进而将func实例化为string * const &func(const string *&)。这里的引用是底层const的,因为我们传入的是一个指向常量字符串对象的地址,所以被绑定的类型是该指针的顶层const属性被忽略了。

对于第二个调用func(&s),由于s是一个string对象,取它的地址得到的是一个const string *类型的指针。同样使用const T &t模板参数,T被推导为const string *类型,进而将func实例化为const string *&func(const string *&)。在这种情况下,我们的指针是一个非常量指针,但是在传递给func时,它会被转化为指向常量对象的指针,即底层const。因此,推导出来的模板参数为const string *,而函数参数类型为const string *&,其中的引用是指向指针的引用,即指针本身是引用类型,而且是底层const引用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 20:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表