实习第五天

把第一个需求做出来了,上周四把API看熟+指引AI完成核心代码,今天就纯粹手动拼接一下,再加了几个测试用例。
比原定计划早完成三天,mentor给我加了新任务。为了平衡干活与学习进度,今天剩下时间主要在读MLIR的文档。
话说mlir::cast和mlir::dyn_cast接受传参类型是引用或指针,而返回值类型是值类型。我觉得这很蹊跷,怀疑他有额外复制开销,但找了很久文档没找到相关说明,源代码是层层嵌套上下翻飞的CRTP模板编程没看懂。只得反映了下疑问,老老实实按值类型接受返回值。有没有大佬指点一二?
全部评论
cpp类型转换表达式也是右值,很正常。 放心接受返回值就行,接受返回值的复制开销在cpp17之后已经没有了,只有一次构造的开销
点赞 回复 分享
发布于 01-15 17:28 广东
编译器做了rvo优化嘛?
点赞 回复 分享
发布于 01-23 22:45 北京

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务