对使用 auto 来表明函数返回类型的情况,编译器使用模板类型推导,会消除引用。 decltype推断则保留返回值类型。 比如
template<typename Container, typename Index> auto authAndAccess(Container &c, Index i) { authenticateUser(); return c[i]; }
auto返回会剥离c[i]返回值int&的引用,返回值类型为int.
decltype(c[i])返回值类型为int&
标签:decltype,int,auto,推断,类型,返回值 From: https://www.cnblogs.com/yanzhao-x/p/16652938.html