а что такое деклтайп
Оператор, преобразующий выражение в его тип
Не, вот так: a :: Int b :: decltype (a * 2)
asTypeOf? Но только на уровне значений
Нет и кажется не нужно. В плюсах этим обычно дыры затыкают которые тут и без этого работают
услышал брат
Собственно, куцый вывод типов
Ну типичное использование template<class A, class B> void MultiplyAB(A a, B b, decltype(a*b)& output) { output = a * b; }
я реплай сделал
auto MultiplyAB(const A &a, const B &b) -> decltype(a * b) =)
как угодно, без разницы. Смысл понятен - в хачеле мне кажетяс тут тайпфемили фили фундепы сделали бы просто multiply a b c. Ну и как любая плюсовая фича деклтайп реализован через жопу Note that decltype also does something entirely different when its argument is not an id-expression, which I won't get into here. For example, decltype(x) != decltype((x))
Обсуждают сегодня