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

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

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

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

(2)这是后来的补充:

以及:

以及

以及:

谢谢

相关推荐
清水白石00815 小时前
Python 编程实战全景:从基础语法到插件架构、异步性能与工程最佳实践
开发语言·python·架构
Halo_tjn18 小时前
Java 基于字符串相关知识点
java·开发语言·算法
梦想的颜色18 小时前
java 利用redis来限制用户频繁点击
java·开发语言
报错小能手18 小时前
Swift 并发 Combine响应式框架
开发语言·ios·swift
万法若空18 小时前
C++ <memory> 库全方位详解
开发语言·c++
代码中介商18 小时前
C++ 类型转换深度解析:static_cast、dynamic_cast、const_cast、reinterpret_cast
开发语言·c++
青小莫18 小时前
C++之string(OJ练习)
开发语言·c++·stl
freshman_y18 小时前
一篇介绍C语言中二级指针和二维数组的文章
c语言·开发语言
6Hzlia18 小时前
【Hot 100 刷题计划】 LeetCode 199. 二叉树的右视图 | C++ DFS 逆序遍历
c++·leetcode·深度优先
-Marks-18 小时前
【C++编程】STL简介 --- (是什么 | 版本发展历程 | 六大组件 | 重要性缺陷以及如何学习)
开发语言·c++·学习·stl·stl版本