Тип выражения decltype в C++
Тип выражения в скобках формирует decltype, сохраняя ссылки и константность так, как если бы выражение использовали в объявлении переменной.
В шаблонах decltype помогает назвать
тип суммы или другой операции над параметрами.
Запишем псевдоним типа суммы двух целых
и выведем размер этого типа:
#include <iostream>
int main() {
int a = 2;
int b = 3;
using SumType = decltype(a + b);
SumType total = a + b;
std::cout << total << "\n";
return 0;
}
Объявите double x и y,
задайте using Prod = decltype(x * y),
сохраните произведение в Prod
и выведите его.
В шаблоне template<typename T>
объявите using Decayed = decltype(T{} + T{})
и выведите sizeof(Decayed)
для T = int.