// decltype的结果可以是引用类型 int i = 42, *p = &i, &r = i; decltype(r + 0) b; // OK, 加法的结果是int,因此b是一个(未初始化)的int decltype(*p) c; // Error, c是int&, 必须初始化 因为r是一个引用,因此decltype(r)的结果是引用类型,如果想让结果类型是r所指的类型,可以把r作为...