Re: И все-же - ликбез по C++ времени компиляции
От: rg45 СССР  
Дата: 08.07.23 06:14
Оценка: 2 (1) +3
Здравствуйте, Shmj, Вы писали:


S>Вот, к примеру, есть такая функция:


S>
S>template <int N>
S>constexpr int factorial() {
S>    if (N <= 1)
S>        return 1;
S>    else
S>        return N* factorial<N - 1>();
S>}
S>


S>Пробую VS последней версии и последний стандарт C++.


S>Что скажете? Думаете проканает для режима компиляции? А хрена с два — пишет что функция слишком сложная. А вот так уже проканало:


Неуч, if constexpr:

template <int N>
constexpr int factorial() {
    if constexpr (N <= 1)
        return 1;
    else
        return N * factorial<N - 1>();
}
--
Справедливость выше закона. А человечность выше справедливости.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.