C++ 中的类型推导

auto 的基本使用

auto 关键字被在变量声明或者作为函数返回值的占位符,在这两个位置的使用是可以通过单个等号右边,或者函数调用来确定 auto 具体应该成为什么类型的,比如像下面这样:

auto iter = map.begin();

template<typename T, typename U>

auto func(T a, U b) -> decltype(a + b);

在 C++14 中,后面的 decltype 部分也可以被省略,可以通过返回的表达式来直接推导,比如这样:

template<typename T, typename ......