Информация об изменениях

Сообщение Re[3]: Предпочтительный способ вычислений во времени компиля от 13.09.2019 11:21

Изменено 13.09.2019 11:28 rg45

Re[3]: Предпочтительный способ вычислений во времени компиляции
Здравствуйте, sergii.p, Вы писали:

R>>Ничего не имею против функций, но вариант реализации на шаблонах структур тоже имеет право на жизнь, я считаю.


SP>почему? Какие ваши аргументы?


Исходя из презумции права на жизнь. Это право существует до тех пор, пока не обосновано обратное. В данном конкретном примере
Автор: rg45
Дата: 13.09.19
нет последовательного инстанцирования шаблонов, о котором ты говоришь выше, сложность реализации соизмерима с "функциональным" вариантом, так почему, спрашивается, нужно отказать этому варианту в праве на жизнь?

SP>ну вот я приводил пример реализации вычисления НОД в stl. Выражения свёртки тут не помогут. К тому же это С++17. Поиграться конечно можно. Но ни одного реального проекта в своём кругу знакомых пока не знаю.


Возможно, это тот случай, когда использование шаблонов классов менее оправдано, чем использование constexpr функций. В то же время, найдутся и други задачи, которые наоборот, будет более рационально решать при помощи шаблонов классов. Например, такие задачи при прешении которых востребованы частичная специализация и активное использование SFINAE.

На мой взгляд, поиски УНВЕРСАЛЬНОГО предпочтительного решения несколько наивны.
Re[3]: Предпочтительный способ вычислений во времени компиля
Здравствуйте, sergii.p, Вы писали:

R>>Ничего не имею против функций, но вариант реализации на шаблонах структур тоже имеет право на жизнь, я считаю.


SP>почему? Какие ваши аргументы?


Исходя из презумции права на жизнь. Это право существует до тех пор, пока не обосновано обратное. В данном конкретном примере
Автор: rg45
Дата: 13.09.19
нет последовательного инстанцирования шаблонов, о котором ты говоришь выше, сложность реализации соизмерима с "функциональным" вариантом, так почему, спрашивается, нужно отказать этому варианту в праве на жизнь?

SP>ну вот я приводил пример реализации вычисления НОД в stl. Выражения свёртки тут не помогут. К тому же это С++17. Поиграться конечно можно. Но ни одного реального проекта в своём кругу знакомых пока не знаю.


Возможно, это тот случай, когда использование шаблонов классов менее оправдано, чем использование constexpr функций. В то же время, найдутся и другие задачи, которые наоборот, будет более рационально решать при помощи шаблонов классов. Например, такие задачи при прешении которых востребованы частичная специализация и активное использование SFINAE. На шаблонах классов такие задачи может оказаться решать банально проще и нагляднее.

На мой взгляд, поиски УНВЕРСАЛЬНОГО предпочтительного решения несколько наивны.