因为auto和decltype都用于推断类型。我以为它们是一样的。不过,我认为它们不可能完全不同。我可以想出一个简单的例子,其中i的类型在以下两种情况下都是相同的。auto i = 10; and decltype(10) i = 10;
那么,在哪些可能的情况下,auto和decltype的行为是相同的呢?
void f(const vector<int>& a, vector<float>& b) typedef decltype(a[0]*b[0]) Tmp; auto p0 = new auto(a[i]*b[i]);
auto p1 = new decltype(a[i]*b[i]);我可以使用'new auto(