C++模板匹配优先问题

「已注销」 「已注销」 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
如图:

我觉得这个设计不太合理,
const形参一层意义是函数表明自己不会通过指针修改,可是这里设计者似乎认为非const指针转换为const会有一定的代价,导致上面的匹配,指针版劣于非指针版。


我希望所有的指针,都匹配到输出指针的那个实例,其他的匹配另一个实例。

可是有两个要求:

1因为做成库提供使用,不能要求调用者显示实例化,像这样调用:fun<int>(&x);//将匹配到指针版本

2上面图中例子,如果去掉模板中的const,似乎可以达到目的,使第二个调用匹配到指针版本,但是就不能用于const指针了。可以提供一个const指针版,一个非const指针版,但是我不想这么做,这样会增加模板带来的自动生成的代码量。


有没有科学一点的方法?
...全文

相关推荐

C++11可变参数模板[代码]

C++11引入了可变参数模板,允许模板定义中包含0到任意个模板参数,极大地增强了模板的灵活性。文章详细介绍了可变参数模板的声明方式、函数模板中的递归使用、类模板中的递归继承和复合实现,以及标准库中tuple类的简化操作。通过示例代码展示了可变参数模板在实际编程中的应用,如递归打印参数、实现多参数max函数以及tuple类的内存分布和访问方式。此外,文章还探讨了模板函数特化与泛化的优先级问题,为读者提供了深入理解C++11可变参数模板的实用指南。

cloud

黑白棋_rockyzk2_Vc_

Visual C++数字图像模式识别技术黑白棋源码

摇滚死兔子

基于C++-OpenCV的小猿口算自动图像识别+答题.zip

OpenCV图像识别实战项目

木心爱编程

jubilant-disco:可以在“ Wall's Wally”难题中找到Wally的程序。 使用C ++和面向对象的编程原理创建

沃利·普雷格拉 可以在“ Wall's Wally”难题中找到Wally的程序。 使用C ++和面向对象的编程原理创建

茶了不几

Autodesk(欧特克)笔试面试资料汇总

AUTODESK的面试题在网上是闹的沸沸扬扬,作为一个名企,这是可以理解的,况且其面试题质量也是不错的。抽一些闲暇时间,把网上传的比较多的70道题简单的解答了一遍,不为别的,只为再熟悉一下在大学学过的一些基础知识。希望对大家有用。

botechs
评论 2
收藏 已收藏
分享
返回顶部
「已注销」
C++ 语言 65,214 成员 250,514 内容