типу?
например как в haskell
factorial 0 = 1
factorial x = x * factorial(x - 1)
без if-else?
Можно, но делается это через иные механизмы (шаблоны) #include <iostream> template <std::size_t i> long long factorial() { return i * factorial<i-1>(); } template <> long long factorial<0>() { return 1ll; } int main() { std::cout << factorial<10>() << std::endl; // 3628800 }
в рт не работает
спасибо, тоже думал о специализации, но мне казалось, что там только типы писать
А в чем проблема написать IF ELSE?
Думаю можно попробовать через constexpr, но сейчас комп не рядом со мной, проверить не могу.
template<size_t value>
Обсуждают сегодня