Здравствуйте, VladD2, Вы писали:
VD>Проблема тут в другом. Метапрограммирование на макросах сильно ограничено по возможнсотям, очень неудобно в отладке, страшно в восприятии. Одинм словом, криво.
Конкретно в этом месте речь шла не о метапрограммировании на шаблонах, а о compile-time вычислениях на шаблонах. Имхо, это все же разные вещи. А применительно к compile-time вычислениям я не вижу принципиальной разницы между записями:
fact<6>::value
и
Macro.Fact(6)
смысл одного и другого для человека, разбирающегося в C++ и Nemerle понятен.
Что же касается моего мнения по поводу сложных compile-time вычислений в C++, то ты его можешь прочитать
здесьАвтор: eao197
Дата: 25.10.05
(там же, кстати, используется ссылка на статью, в которой используется compile-time вычисление вещественных чисел на шаблонах).
Disclaimer: насколько я помню, об удобстве вычисления факториала заговорил Oyster