模板函数类型推断

 我来答
京斯年0GZ
2022-06-16 · TA获得超过6202个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:74万
展开全部

通过查看编译器给我们推断的类型结果,来学习c++类型推断的规则

方法:利用 boost 库 查看类型推断
vs2017 添加 boost库 手段:

函数模板的形参取决于:

结果示意:

结论:

根据上一个小节的结论,我们做一个测试.

非常明显mfRefT 中的T, 虽然实参的类型是 int & ,但 T 仅仅识被判定成 int。所以虽然产出的引用,但是并没有改变ii的值。

如果想修改,非常简单:

对比没有const:
T 被判定成了 int,竟然去掉了 const属性?

结论:

一切 同 引用相同

当 形参带了 const时:

差异性和 引用是形参时相同。T 受到 形参加const 的影响,T丢失了 const 属性。为 int。

注意形参是 万能引用时,因为传入的是左值,所以 T 这时候并不是单纯的int,而是 int&.

最好不要应用值传递

按章上一小节,因为传入的是副本,并不会影响实参值。
std::ref() 执行引用传递,函数内部修改形参后,则会影响实参。
std:cref() const 引用

注意上述注释中说法:

如何修改值呢?

tmprv 被判定成了 const char (&)[14] 数组的引用。
如果写法如下:

--__cdecl函数调用方式而已。接触到再详细搜索--

T: 函数指针类型
tmprv: 函数指针类型

tmprv: 变成一个函数引用 void(&)(void)

注意tmprv的类型

声明变量的始化根据变量初始化的类型,自动为此变量选择匹配类型。
特点:

auto 是一个类型, x也有一个类型.

auto 后 直接接变量名.

总结:

auto 后接一个 &, 以及如何验证auto类型

测试 xy2

总结:

与函数模板相同

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
博思aippt
2024-07-20 广告
作为深圳市博思云创科技有限公司的工作人员,对于Word文档生成PPT的操作,我们有以下建议:1. 使用另存为功能:在Word中编辑完文档后,点击文件->另存为,选择PowerPoint演示文稿(*.pptx)格式,即可将文档内容转换为PPT... 点击进入详情页
本回答由博思aippt提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式