auto
auto是C++程序设计语言的关键字。自C++11以来,auto关键字用于两种情况:声明变量时根据初始化表达式自动推断该变量的类型、声明函数时函数返回值的占位符。C++98标准中auto关键字用于自动变量的声明,但由于使用极少且多余,在C++11中已删除这一用法。–维基百科
auto实际上实在编译时对变量进行了类型推导,似乎auto并不会影响编译速度,因为编译时本来也要右侧推导然后判断与左侧是否匹配。
从汇编看也是如此:

自定义类型

auto用于模板简化了模板的操作
lambda表达式
它可以用于创建并定义匿名的函数对象形式如下:
[函数对象参数](操作符重载函数参数) ->返回值类型{函数体}(具体参数)
decltype
decltype的功能与auto相反,从变量得到类型
右值引用
右值引用(rvalue reference),是C++程序设计语言自C++11标准提出的一类数据类型。用于实现移动语义(move semantic)与完美转发(perfect forwarding)。–维基百科
在资源转移不是调用拷贝等操作而是实现了资源的转移
参考