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

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

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

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

(2)这是后来的补充:

以及:

以及

以及:

谢谢

相关推荐
布莱克60514 小时前
C++中的内存分区详解
c++
All for pursuit.15 小时前
【链表-9】146.LRU缓存
数据结构·c++·算法·leetcode
shmily麻瓜小菜鸡16 小时前
TDD(测试驱动开发)详解
开发语言·javascript·typescript·node.js·ecmascript
三克的油16 小时前
java-学习1
java·开发语言·学习
j7~16 小时前
【C++微服务项目开发脚手架】(接口篇一)gflags + gtest + spdlog 接口学习笔记
c++·学习·gtest·项目开发·spdlog·gflags·c++项目微服务开发脚手架
星期八不上发条16 小时前
智能指针是什么?使用场景,循环引用解决办法,面试回答
开发语言·c++·stl
ao-weilai16 小时前
Linux网络编程:Socket UDP
linux·服务器·网络·c++
OKkankan16 小时前
Python 基础进阶(三):从函数、类到 asyncio 与 FastAPI 后端开发实战
开发语言·python
泡海椒17 小时前
jquick-pdf 防止 PDF 内容分页断裂:keepTogether 属性妙用
java·开发语言·pdf