Is
auto x = initializer;
equivalent to
decltype(initializer) x = initializer;
or
decltype
initializer is an array then decltype(x) or decltype((x))
don't work simply on it. However auto will be deduced to a
pointer.initializer is a function then applying decltype(fp) will
deduce to the function type however, auto will deduce to its
return type.So in general auto cannot be considered as a replacement of any decltype() version you asked.