看大师写的代码时,除了在类里定义了 copy 构造函数,移动构造函数,还定义了对形参采取万能引用的构造函数,因此有个疑问,这时候的构造函数优先级是什么样的呢?简化逻辑测试一下,如下图,先看不含万能引用的版本:
![](https://img-blog.csdnimg.cn/direct/143874b046db49a599afada76cac644b.png)
当又含有万能引用的构造函数呢?
![](https://img-blog.csdnimg.cn/direct/f755f5764e9e4715aca2a171e6d9ef54.png)
因此,出现这种情况时,要注意编写的重载的构造函数的语义的一致性,避免出错。
(2)这是后来的补充:
![](https://img-blog.csdnimg.cn/direct/4f20975d728f4be998d766f608693211.png)
以及:
![](https://img-blog.csdnimg.cn/direct/acbfc0c450464ffb9250fe8503244f16.png)
以及
![](https://img-blog.csdnimg.cn/direct/13254420be4b4d80b64b747b429ef7bd.png)
以及:
![](https://img-blog.csdnimg.cn/direct/473eae39850d4cd48025c0b15185f5e0.png)
谢谢
看大师写的代码时,除了在类里定义了 copy 构造函数,移动构造函数,还定义了对形参采取万能引用的构造函数,因此有个疑问,这时候的构造函数优先级是什么样的呢?简化逻辑测试一下,如下图,先看不含万能引用的版本:
当又含有万能引用的构造函数呢?
因此,出现这种情况时,要注意编写的重载的构造函数的语义的一致性,避免出错。
(2)这是后来的补充:
以及:
以及
以及:
谢谢