#define demi_auto(X, Y) decltype(Y) X = Y;
...こんなマクロが流行るんですね、わかります。