определения типа вощвращаемого значения
auto max(T1 a, T2 b) -> decltype (b<a?a:b), но потом он её меняет на auto max(T1 a, T2 b) -> decltype(true?a:b). Как это так получается? Во втором варианте тогда всегда будет возвращаться тип а, объясните плиз
Тернарный оператор возвращает один тип, собственно не важно какое условие мы поставим. Тк мы используем просто decltype чтобы понять тип который возвращается в тренарном операторе. В 14 плюсах можно написать auto перед функцией и забыть о decltype
Обсуждают сегодня