c++ 里函数选择的优先级:普通函数、模板函数、万能引用,函数重载的常量左值引用、右值引用,编译器选择哪个执行呢?

看大师写的代码时,除了在类里定义了 copy 构造函数,移动构造函数,还定义了对形参采取万能引用的构造函数,因此有个疑问,这时候的构造函数优先级是什么样的呢?简化逻辑测试一下,如下图,先看不含万能引用的版本:

当又含有万能引用的构造函数呢?

因此,出现这种情况时,要注意编写的重载的构造函数的语义的一致性,避免出错。

(2)这是后来的补充:

以及:

以及

以及:

谢谢

相关推荐
蜕变的土豆3 分钟前
三、cmake语法-提高篇
c++·软件构建
李高钢24 分钟前
c#获取当前程序所在目录避坑
开发语言·数据库·c#
IT北辰29 分钟前
用 Python 实现连续数据分组求和并回写
开发语言·python
Yupureki43 分钟前
从零开始的C++学习生活 19:C++复习课(5.4w字全解析)
c语言·数据结构·c++·学习·1024程序员节
凤山老林1 小时前
还在用JDK8?JDK8升级JDK11:一次价值千万的升级指南
java·开发语言·jvm·spring boot·后端·jdk
沐知全栈开发1 小时前
Servlet 数据库访问
开发语言
七夜zippoe2 小时前
Rust `std::iter` 深度解析:`Iterator` Trait、适配器与性能
开发语言·算法·rust
靠沿2 小时前
JavaSE知识分享——继承(下)
java·开发语言
Catfood_Eason2 小时前
CMPP3020作业2
java·开发语言
默默的流星雨2 小时前
TARJAN相关
c++·算法·深度优先·图论