但是如要注意模板实际参数始终都以实际类型优先, double和int是这个特性的常见例子, 例如1, 如果默认参数是double就会被推导为double
C++11引入了extern模板....)的访问, 从而在外部可以自动调用基类构造
C++11中继承构造函数和其他默认函数一样, 存在隐式声明的默认版本, 且如果不被使用就不会生成
继承构造函数的默认参数不会被继承, 反而会生成多个不同声明的构造函数的产生..., 如果定义了常量左值引用构造也能正确执行, 只不过会变为拷贝形式
常量右值引用存在但是没有实际用途
std::move()能强制使一个左值变为右值, 但是不会改变其生命周期
右值引用本身是个左值,...可行的保留并计算匹配的精确度, 选择最佳匹配的候选函数作为结果
如果存在两个相同匹配等级的参数列, 优先保留普通函数
完全找不到匹配的函数或者产生二义性时, 引发error
这个尝试进行参数替换的过程中编译器只发生..., Test更符合f1的参数, 因此实例化f1
f(10);
// 只能调用f2, 因为在这个匹配过程中若把int替换到f1的参数列中, int没有定义foo, 失败
// 由于