|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Vitaly.Lugovsky@ontil.ihep.su 2:5080/1003 13 Nov 2002 21:42:13 To : Vasily Tchekalkin Subject : Re: Вопросы к выбору -------------------------------------------------------------------------------- dex.ru> <1819909507@f1003.n5080.z2.fidonet.ftn> <n6s7a-iag.ln1@bacek.yandex.ru> dex.ru> <531272635@f1003.n5080.z2.fidonet.ftn> <0v2aa-oqj.ln1@bacek.yandex.ru> From: Vitaly.Lugovsky@ontil.ihep.su Vasily Tchekalkin <bacek@yandex-team.ru> wrote: >> Тогда не понимаю. Что разворачивать? Пример хочу. > Типа так: > template<int n> struct META_FACTORIAL { > enum { RET = n * META_FACTORIAL<n-1>::RET }; > }; > template<> struct META_FACTORIAL<1> { > enum { RET = 1 }; > }; > Тогда > long f_5 = META_FACTORIAL<5>::RET; > развернётся на этапе компиляции в константу. А... Это неинтересно. Продвинутый препроцессор, не более того. Вот если бы ТАКАЯ рекурсия в цикл разворачивалась, предварительно преобразовавшись в let rec fact = function 1 x -> 1 | n x -> fact (x*n) (n-1) and fac = fact 1 то было бы значительно веселее. Константы при компиляции вычислять - дело нехитрое, если в конструкции заведомо нет сайд-эффектов, то компилятор просто обязан её вычислить сразу. >> Посмотрели бы они на SML, где модули - first class objects. > "C++ is not better Smalltalk. Smalltalk is better Smalltalk" (c) Stroustrup. > C++ нормальный компромис между красотой языка и его возможностями. Да, > не панацея, да кривоват в некоторых аспектах. Hо при этом нормальный > рабочий инструмент. Так в том и дело, что компромисс вовсе ненормальный. И то, что хотели ублажить не желающих переучиваться сишных программисто - нисколько не оправдание. > P.S. To moderator - ухожу, ухожу. :) Аналогично... -- V.S.Lugovsky aka Mauhuur (http://ontil.ihep.su/~vsl) (UIN=45482254) --- ifmail v.2.15dev5 * Origin: USURT's FidoNET<->Internet Gate (news://news.c (2:5080/1003@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/14646ac937009.html, оценка из 5, голосов 10
|