1. std::forward原型 2. 完美转发(Perfect Forwarding) (1)完美转发:是指在函数模板中,完全依照模板的参数类型(即保持实参的左值、右值特性),将 ...
1. std::forward原型 2. 完美转发(Perfect Forwarding) (1)完美转发:是指在函数模板中,完全依照模板的参数类型(即保持实参的左值、右值特性),将 ...
1. 左值和右值 (1)两者区别: ①左值:能对表达式取地址、或具名对象/变量。一般指表达式结束后依然存在的持久对象。 ②右值:不能对表达式取地址,或匿名对象。一般指表达式结束就不再存在 ...
1. type_traits类型萃取 (1)type_traits通过定义一些结构体或类,并利用模板类特化和偏特化的能力,给类型赋予一些特性,这些特性根据类型的不同而异。在程序设计中可以使用这些tr ...
1. 可变参数模板函数 (1)递归函数方式展开参数包 ①一般需要提供前向声明、一个参数包的展开函数和一个递归终止函数。 ②前向声明有时可省略,递归终止函数可以是0个或n个参数 (2)逗 ...
1. 初始化列表的实现 (1)当编译器看到{t1,t2…tn}时便会生成一个initializer_list<T>对象(其中的T为元素的类型),它关联到一个array<T,n> ...
1. 防止类型收窄 (1)类型收窄:指的是导致数据内容发生变化或者精度丢失的隐式类型转换。 (2)类型收窄的几种情况: ①从浮点数隐式转换为整型数,如int i=2.2; ②从高精度浮 ...