, 所以当发生冲突的时候应该显式声明构造函数来因此冲突的函数
当派生类是虚继承了基类时, 不能使用继承构造函数
一旦使用了继承构造函数(用using Base::Base;)暴露出来, 自身的默认构造函数就和之前的隐藏规则一样...但注意右值引用不能被绑定到左值
右值引用能够延长右值的声明周期, 常量左值引用属于万能引用, 也能够延迟生命周期, 但是常量左值引用后的值不能修改所以一般用来减少临时对象的开销而已
当类没有定义移动构造时...可行的保留并计算匹配的精确度, 选择最佳匹配的候选函数作为结果
如果存在两个相同匹配等级的参数列, 优先保留普通函数
完全找不到匹配的函数或者产生二义性时, 引发error
这个尝试进行参数替换的过程中编译器只发生...int替换到f1的参数列中, int没有定义foo, 失败
// 由于SFINEA的原因int对f1的尝试不算做实例化的error, 而属于匹配过程中的一次failure
f(10)...3, 一种编程习惯是当需要用decltype定义变量时, 先声明再定义, 这样如果被编译器推导为左值引用的话会由于没有初始化而报错, 从而提供改错的机会
decltype能够带走目标的cv限制符, 但是无法继承对象内部的