Я вижу decltype(x), используемый внутри макросов, где x - это имя переменной, потому что тип объекта неизвестен внутри макросов.
Например:
decltype(x) y = expr;
Я мог бы просто использовать auto вместо decltype. Итак, каковы ситуации, когда decltype требуется для объявления типа переменной вместо auto?