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

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

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

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

(2)这是后来的补充:

以及:

以及

以及:

谢谢

相关推荐
十年Java程序媛5 分钟前
Java 面试常问 this、super:构造方法调用顺序避坑
java·开发语言·spring boot·面试·个人开发
yuniko-n25 分钟前
【JUC】内存屏障
java·开发语言
Linux运维技术栈28 分钟前
近期 PHP 高危安全风险排查与多环境升级实操
开发语言·安全·php
凯瑟琳.奥古斯特1 小时前
力扣1015C++解法技巧
c++·算法·leetcode·链表·职场和发展
Fnetlink11 小时前
Fnet 云网安 261023
运维·开发语言·网络·人工智能·安全·web安全·php
悠仁さん1 小时前
【算法C++】双指针(一)
数据结构·c++·算法
ESDWAN1 小时前
SD-WAN 主备切换为什么仍会断网?从检测、切换到会话恢复分析
运维·开发语言·网络·php
jimy11 小时前
lvalue、xvalue、prvalue(二):引用是哪一类?
开发语言·c++·1024程序员节
cxyxixiy1 小时前
数智码力:数据核对不用人工比对,Python 快速完成多表格差异校验
开发语言·python·学习
一个风轻云淡1 小时前
从 int $0x80 到 iret:用 gdb 把 getpid 走一遍
linux·c语言·开发语言·汇编